2014-01-15 65 views
0

一個爲我分配的任務是到適當的隔音功能添加到以下公式:MATLAB環路誤差加噪功能時

x = A*(1+a1*E)*sin(w*(1+a2*E)*t+y)+ a3*E 

我們必須然後繪製噪音的功能與時間還有添加了噪音的原始功能。我問過教授,如果一個-1和1之間的隨機數發生器就足夠了,他已經同意了。我有以下代碼到目前爲止:

t = 0:0.1:6.5; 
A = 2; 
a1 = 2; 
a2 = 4; 
a3 = 3; 
w = 1; 
y = 2; 

for i=1:length(t) 
    E(i) = random('unif', -1, 1, 1, 1); 
    x(i) = A*(1+a1*E(i))*sin(w*(1+a2*E(i))*t+y)+ a3*E(i); 
    i=i+1; 
end 
plot(t,E) 
figure 
stem(t,x) 

我一直得到下面的錯誤在一個分配A(I)= B,B中的元素數量,我必須 是相同的。

Error in Try1 (line 58) 
    x(i) = A*(1+a1*E(i))*sin(w*(1+a2*E(i))*t+y)+ a3*E(i); 

我不明白錯誤,因爲E只是一個數字。

任何幫助讚賞!謝謝!!

回答

2

你是對的,E只是一個數字,但你乘以t,這不只是一個數字 - 它是一個數組。我想你的意思是乘以t(i)

       here------v 
x(i) = A*(1+a1*E(i))*sin(w*(1+a2*E(i))*t(i)+y)+ a3*E(i); 
+0

非常感謝!你絕對正確。 – user3192340