matlab实现 产生一个1*10维复数向量 每个元素的模为1 相位服从0到2π均匀分布? 发 simonaok at 163.com

如题所述

你所说的均匀分布是指随机量吧?

 

生成你要求的向量很简单,一个语句就可以了:

a=exp(i*2*pi*rand(1,10));

为了检验生成的效果,点取稍多一些,绘出图来观察(图中,横轴为实轴,纵轴为虚轴):

N=500;
a=exp(i*2*pi*rand(1,N));
plot(a,'.')
axis equal

追问

均匀分布是指间隔相同吧。。 反正我后来用sinx+cosx*i表示的。。x是0到2pi 10格的向量-。- 不知道行不行 坑爹的选修课 根本没学过 就看着课件编

追答

从题目的要求看,【相位服从0到2π均匀分布】,服从某分布这种说法,一般只会对随机变量使用。如果信得过我,建议你该用我的做法。

 

另外,你的写法sinx+cosx*i和我的写法exp(i*2*pi*X)本质上是差不多的,只不过,我的X是在0-1之间。还有就是,根据欧拉公式,一般exp(i*x)写成cosx+sinx*i,和你的写法相位上相差pi/2。

 

如果对你有帮助,希望能采纳。

温馨提示:答案为网友推荐,仅供参考
相似回答