MATLAB用+/-分离正弦函数

时间:2014-01-14 01:22:43

标签: matlab

您好,我对MATLAB相对较新,已收到并指定我们可以使用任何编程语言。我想继续MATLAB并决定将它用于此任务。问题与以下公式有关:

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

我们的第一个问题是用时间步长h开发x(t)的适当离散化。我想我明白了如何使用step执行此操作,但因为最后有+/-我遇到了错误。这就是我所拥有的(我通过为每个变量分配任意值来简化方程式):

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),x1(t)-x2(t)]

任何帮助?谢谢!

1 个答案:

答案 0 :(得分: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时,这将不起作用。括号中的值必须是索引,而不是因变量。如果你想要整个矢量,就把它留下来。