2012-01-08 72 views
-1

以下代碼的目的是從隨機高斯噪聲生成彩色高斯信號;執行快速傅立葉變換並生成功率信號。問題:有色噪聲的矩陣索引尺寸誤差

  1. 我想產生高斯有色噪聲,使得功率譜密度是proprtional與1/f ^的β,其中的β= 1,-1,2,0。過程是否正確?

  2. 該代碼生成錯誤

    ???錯誤使用==> rdivide 矩陣尺寸必須一致。

    錯誤==> expl at 9 x = x。* 1./(f.^2);在解決this.Thank你

回答

0

f有1025元 請幫助,x有2001元。但是他們的長度需要相等。你應該改變其中之一。

0

我執行你的代碼,然後看看你生成的大小。

>> whos f x 
    Name  Size    Bytes Class  Attributes 

    f   1x1025    8200 double    
    x   1x2001   16008 double      

對於要執行的問題行,你不認爲有f和x相同的大小會有用嗎?

當MATLAB說矩陣尺寸不一致時,看起來第一個地方應該是所討論變量的尺寸。 :)

+0

是的,我檢查使用大小命令。所以,我如何讓他們平等?請幫助;我是一個matlab新手。 – sts 2012-01-08 17:04:55

+0

@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