我如何修复错误“下标索引必须是实正整数或逻辑。”

2ビュ(過去30日間)
我试着画出这个微分方程组但是我遇到了这个错误。我不知道如何解决这个问题,但我认为问题是这两个代码行d1=0.15*sin(5*t(1i));罪和d2 = 0.10 * (7 * t(我));
%********* 在func3.m * * * * * * * *
函数Xdot = func3(t,x)
全球DF1 DF2 d1 d2 fi1 fi2 Beta n
β= 3;n = 2;s1 = 1.5;
z1 = 5;s2 = 1.8;z2 = 2;
DF1 = 0.3 *(罪(1 *π* x(1)) *罪(2 *π* x(2)) *罪(3 *π* x(3)) *罪(4 *π* x (4)));
DF2 = 0.2 *(罪(1 *π* x(1)) *罪(2 *π* x(2)) *罪(3 *π* x(3)) *罪(4 *π* x (4)));
d1 = 0.15 * sin (5 * t(我));
d2 = 0.10 * sin (7 * t(我));
u1(我)=((β(1)+ 10)* abs (x (1)) + 2 * abs (x (2)) + s1(我)+ z1(我))*符号(S (1));
u2(我)= (abs (x (1) + (x (1) * x (3) + (0.5 + n(我))* abs (x (4)) + s2(我)+ z2(我))*符号(S (2));
fi1 = (1.4 + 0.2 * sin (u1(我)))* u1(我);
fi2 = (1.3 + 0.2 * cos (u2(李)))* u2(我);
Xdot = 0 (4,1);
xdot (1) = 10 * (x - x (1) (2)) + x (4);
xdot(2) =β(李)* x (1) x (3) - x - x (1) * (2) * DF1 + d1 + fi1;
xdot (3) = x (1) * (2) 8/3 * x (3);
xdot (4) = - x (1) * x (3) + n(李)* x (4) + DF2 + d2 + fi2;
结束
%=====================================================
%*************** 在main.m ****************
X =[0.1 2 3 -3];
t = 0:0.02:7;
[T,x] = ode23(“func3”,[t(li) t(1i+1) t(1i+2)],x);
x = x (2);
X = X;
β(李+ 1)= abs (S (1)) * abs (x (1));
s1(李+ 1)= abs (S (1));
z1(李+ 1)= abs (S (1));
s2(李+ 1)= abs (S (2));
李z2 (+ 1) = abs (S (2));
李n (+ 1) = abs (x (4)) * abs (S (2));
S1(李+ 1)= S (1);
S2(李+ 1)= S (2);
X = X(李+ 1,:);
D1(李)= D1;
D2(李)= D2;
李;
图(3)
情节(t (1: end-1), X)
传奇(“x_1 (t)”“x_2 (t)”“x_3 (t)”“x_4 (t)”
图(4)
情节(t (1: end-1), S1);持有
情节(t (1: end-1), S2,‘g’);
传奇(“S_1 (t)”“S_2 (t)”
图(5)
情节(t (1: end-2), u1);持有
情节(t (1: end-2), u2,‘g’);
传奇(“u_1 (t)”“u_2 (t)”
main中的错误(第12行)
[T,x] = ode23('func3',[T (1i+1) T (1i+2)],x);

回答 (1 件)

沃尔特·罗伯森
沃尔特·罗伯森 2021 年 4 月 21 日
u1(我)=((β(1)+ 10)* abs (x (1)) + 2 * abs (x (2)) + s1(我)+ z1(我))*符号(S (1));
Beta(1i)是索引的尝试 这是不存在的。
MATLAB绝对有 没有 甚至在cd制造时留下的小塑料酒窝里也没有。

カテゴリ

了解更多编程帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的