|
回复 6楼 aachuangping 的帖子
函數gngauss最後一行增加[gsrv1,gsrv2], ex
function[gsrv1,gsrv2]=gngauss(m,sgma)
if nargin==0, m=0;sgma=1; elseif nargin==1, sgma=m;m=0; end;
u=rand(); z=sgma*(sqrt(-2*log(1/(1-u))));
u=rand(); gsrv1=m+z*cos(2*pi*u); gsrv2=m+z*sin(2*pi*u);
[gsrv1,gsrv2]
gsrv1為一單點複數, 當然僅畫出一點!
執行y=gngauss(1,0.02); 輸出ans = 1.0000 - 0.0101i 1.0000 + 0.0059i
表示gsrv1=1-0.0101i,gsrv2=1+0.0059i
若plot(y,'o'), 看看那一點是否就是gsrv1! x=1為real part, y=-0.0101 為imag part
若plot(u,y,'o'), 因y為複數會出現警告Warning: Imaginary parts of complex X and/or Y arguments ignored, 此時等效plot(u,real(y),'o')
建议LZ看看Help文件! |
|