以下代码的目的是从随机高斯噪声生成彩色高斯信号;执行快速傅立叶变换并生成功率信号。问题:有色噪声的矩阵索引尺寸误差
我想产生高斯有色噪声,使得功率谱密度是proprtional与1/f ^的β,其中的β= 1,-1,2,0。过程是否正确?
该代码生成错误
???错误使用==> rdivide 矩阵尺寸必须一致。
错误==> expl at 9 x = x。* 1./(f.^2);在解决this.Thank你
以下代码的目的是从随机高斯噪声生成彩色高斯信号;执行快速傅立叶变换并生成功率信号。问题:有色噪声的矩阵索引尺寸误差
我想产生高斯有色噪声,使得功率谱密度是proprtional与1/f ^的β,其中的β= 1,-1,2,0。过程是否正确?
该代码生成错误
???错误使用==> rdivide 矩阵尺寸必须一致。
错误==> expl at 9 x = x。* 1./(f.^2);在解决this.Thank你
f
有1025元 请帮助,x
有2001元。但是他们的长度需要相等。你应该改变其中之一。
我执行你的代码,然后看看你生成的大小。
>> whos f x
Name Size Bytes Class Attributes
f 1x1025 8200 double
x 1x2001 16008 double
对于要执行的问题行,你不认为有f和x相同的大小会有用吗?
当MATLAB说矩阵尺寸不一致时,看起来第一个地方应该是所讨论变量的尺寸。 :)
是的,我检查使用大小命令。所以,我如何让他们平等?请帮助;我是一个matlab新手。 – sts 2012-01-08 17:04:55
@sts您应该先重新读取您的代码,然后理解为什么'numel(0:1/Fs:2)'和'numel(linspace(0,1,NFFT/2 + 1))'是不同的。然后,你应该重新考虑你的问题,并决定使用哪两个(或根据你在做什么适当修改)。一旦你这样做了,'x = x。* 1 ./(f。^ 2);'会毫不费力地评估:) – abcd 2012-01-08 21:31:21