怎样用matlab算高斯算数——几何平均数

怎样用matlab算高斯算数——几何平均数,第1张

function [a10 b10]=guassgeo(a0,b0,n)

%[a10 b10]=guassgeo(a0,b0,n)

%输入:a0,b0及序列长n

%输出:a10,b10

a10=[]b10=[]

if nargin<3

warning('请输入a0,b0和n')

return

end

if a0==b0

warning('a不等于b')

return

end

a10=a0b10=b0

for i=1:n

a10(i+1)=a10(i)+b10(i)

a10(i+1)=1/2.*a10(i+1)

b10(i+1)=sqrt(a10(i)*b10(i))

end

MATLAB自带的两个方法rand和randn可实现,验证的话其实就是从概率密度函数和累积分布函数来验证,MATLAB自带函数ksdensity可实现。

以下是help文档

产生0-1均匀分布rand

Uniformly distributed pseudorandom numbers

Syntax

r = rand(n)

rand(m,n)

rand([m,n])

rand(m,n,p,...)

rand([m,n,p,...])

rand

rand(size(A))

r = rand(..., 'double')

r

= rand(..., 'single')

Description

r = rand(n) returns an n-by-n matrix

containing pseudorandom values drawn from the standard uniform distribution

on the open interval (0,1). rand(m,n) or rand([m,n]) returns

an m-by-n matrix. rand(m,n,p,...) or rand([m,n,p,...]) returns

an m-by-n-by-p-by-...

array. rand returns a scalar. rand(size(A)) returns

an array the same size as A.

r = rand(..., 'double') or r

= rand(..., 'single') returns an array of uniform values

of the specified class.

Note

Note: The size inputs m, n, p,

... should be nonnegative integers. Negative integers are treated

as 0.

The sequence of numbers produced by rand is determined by the

internal state of the uniform pseudorandom number generator that underlies rand, randi,

and randn. The default random

number stream properties can be set using @RandStream methods. See @RandStream for details

about controlling the default stream.

Resetting the default stream to the same fixed state allows

computations to be repeated. Setting the stream to different states

leads to unique computations, however, it does not improve any statistical

properties. Since the random number generator is initialized to the

same state every time MATLAB software starts up, rand, randn,

and randi will generate the

same sequence of numbers in each session until the state is changed.

Note

In versions of MATLAB prior to 7.7, you controlled the

internal state of the random number stream used by rand by calling rand directly

with the 'seed', 'state', or 'twister' keywords.

That syntax is still supported for backwards compatibility, but is

deprecated. For version 7.7, use the default stream as described

in the @RandStream reference

documentation.

Examples

Generate values from the uniform distribution on the interval [a,

b].

r = a + (b-a).*rand(100,1)

Replace the default stream at MATLAB startup, using a stream

whose seed is based on clock,

so that rand will return different

values in different MATLAB sessions. It is usually not desirable

to do this more than once per MATLAB session.

RandStream.setDefaultStream ...

(RandStream('mt19937ar','seed',sum(100*clock)))

rand(1,5)

Save the current state of the default stream, generate 5 values,

restore the state, and repeat the sequence.

defaultStream = RandStream.getDefaultStream

savedState = defaultStream.State

u1 = rand(1,5)

defaultStream.State = savedState

u2 = rand(1,5) % contains exactly the same values as u1

产生高斯分布随机变量randn

Normally distributed pseudorandom numbers

Syntax

r = randn(n)

randn(m,n)

randn([m,n])

randn(m,n,p,...)

randn([m,n,p,...])

randn(size(A))

r = randn(..., 'double')

r

= randn(..., 'single')

Description

r = randn(n) returns an n-by-n matrix

containing pseudorandom values drawn from the standard normal distribution. randn(m,n) or randn([m,n]) returns

an m-by-n matrix. randn(m,n,p,...) or randn([m,n,p,...]) returns

an m-by-n-by-p-by-...

array. randn returns a scalar. randn(size(A)) returns

an array the same size as A.

r = randn(..., 'double') or r

= randn(..., 'single') returns an array of normal values

of the specified class.

Note

The size inputs m, n, p,

... should be nonnegative integers. Negative integers are treated

as 0.

The sequence of numbers produced by randn is

determined by the internal state of the uniform pseudorandom number

generator that underlies rand, randi, and randn. randn uses

one or more uniform values from that default stream to generate each

normal value. Control the default stream using its properties and

methods. See @RandStream for

details about the default stream.

Resetting the default stream to the same fixed state allows

computations to be repeated. Setting the stream to different states

leads to unique computations, however, it does not improve any statistical

properties. Since the random number generator is initialized to the

same state every time MATLAB software starts up, rand, randn,

and randi will generate the

same sequence of numbers in each session until the state is changed.

Note

In versions of MATLAB prior to 7.7, you controlled the

internal state of the random number stream used by randn by calling randn directly

with the 'seed' or 'state' keywords.

That syntax is still supported for backwards compatibility, but is

deprecated. For version 7.7, use the default stream as described

in the @RandStream reference

documentation.

Examples

Generate values from a normal distribution with mean 1 and standard

deviation 2.

r = 1 + 2.*randn(100,1)

Generate values from a bivariate normal distribution with specified

mean vector and covariance matrix.

mu = [1 2]

Sigma = [1 .5.5 2]R = chol(Sigma)

z = repmat(mu,100,1) + randn(100,2)*R

Replace the default stream at MATLAB startup, using a stream

whose seed is based on clock,

so that randn will return different

values in different MATLAB sessions. It is usually not desirable

to do this more than once per MATLAB session.

RandStream.setDefaultStream ...

(RandStream('mt19937ar','seed',sum(100*clock)))

randn(1,5)

Save the current state of the default stream, generate 5 values,

restore the state, and repeat the sequence.

defaultStream = RandStream.getDefaultStream

savedState = defaultStream.State

z1 = randn(1,5)

defaultStream.State = savedState

z2 = randn(1,5) % contains exactly the same values as z1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11972152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存