以下代碼的目的是從隨機高斯噪聲生成彩色高斯信號;執行快速傅立葉變換並生成功率信號。問題:有色噪聲的矩陣索引尺寸誤差
我想產生高斯有色噪聲,使得功率譜密度是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