2014-01-14 77 views
1

您好,我對MATLAB比較陌生,已經接收並分配了我們可以使用任何編程語言。我想繼續MATLAB,並決定使用它來完成這項任務。這些問題與下面的公式有關:MATLAB使用+/-離散正弦函數+/-

x(t)= A [1 + a1 * E(t)] * sin {w [1 + a2 * E(t)] * t + y}( +/-)a3 * E(t)

我們有的第一個問題是用時間步長h來開發適當的x(t)離散化。我想我明白如何使用步驟來做到這一點,但是由於最後有一個+/-我遇到了錯誤。下面是我(我已經通過分配任意值給每個變量簡化公式):

A = 1; 
E = 1; 
a1 = 1; 
a2 = 2; 
a3 = 3; 
w = 1; 
y = 0; 
% ts = .1; 
% t = 0:ts:10; 
t = 1:1:10; 


x1(t) = A*(1+a1*E)*sin(w*(1+a2*E)*t+y); 
x2(t) = a3*E; 
y(t) = [x1(t)+x2(t), x1(t)-x2(t)] 
plot(y) 

是我不斷收到因爲+/-以下錯誤的問題:

在分配A(I)= B,B和I中的元素數量必須相同。

錯誤Try1(第21行) Y(T)= [X1(t)的+ X2(t)的,X 1(t)的-x2(T)]

任何幫助??謝謝!

+0

錯誤是因爲:'y(t)'只能容納一個元素對應一個t的值。您正試圖分配兩個元素的行向量。 –

回答

1

您可以從所有三個作業的左側刪除(t)

y = [x1+x2, x1-x2] 

MATLAB知道如何處理矢量和矩陣。

或者,如果你想將它寫出來的很長的路要走,告訴MATLAB將有兩列:

y(t, 1:2) = [x1(t)'+x2(t)', x1(t)'-x2(t)'] 

或兩行:

y(1:2, t) = [x1(t)+x2(t); x1(t)-x2(t)] 

但是這不會工作時你的分數值爲t。括號中的值必須是索引,而不是因變量。如果你想要整個矢量,就把它放在外面。

+0

非常感謝你,我會繼續解決問題並回答問題!驚訝於答覆的速度有多快! – user3192340