您好,我对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)]
任何帮助?谢谢!
答案 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
时,这将不起作用。括号中的值必须是索引,而不是因变量。如果你想要整个矢量,就把它留下来。