我在matlab中尝试使用这个代码实现hyperchaotic lorenz:
function Y=b(a,b,c,d,e,k)
[T,Y]=ode45(@rigid,[0 e],[a b c d]);
function out=rigid(t,y)
out=zeros(4,1);
out(1)=10*(y(2)-y(1));
out(2)=28*y(1)+y(2)-y(1)*y(3)-y(4);
out(3)=y(1)*y(2)-(8/3)*y(3);
out(4)=0.1*y(2)*y(3)+k;
end;
end;
但是当我用值调用b函数时,我有这个错误: ???指数超过矩阵维度。 任何人都可以帮我这个代码吗?
答案 0 :(得分:1)
我猜您的错误是您在工作区中有一个名为b
的变量。
以下作为魅力:
b(1,1,1,1,1,1);
以下内容不是:
a = 1; b = 1; c = 1; d = 1; e = 1; k = 1;
b(a,b,c,d,e,k)
Index exceeds matrix dimensions.
如果输入
,你会得到什么? whos b
?