0

更新 我试图找到链接LE中给出的 Lyapunov 指数。我试图通过为我的案例采用以下 eqs 来弄清楚并理解它。这些是一组常微分方程(这些仅用于测试如何使用 cos 和 sin 作为 ODE)

f(1)=ALPHA*(y-x);
f(2)=x*(R-z)-y;
f(3) = 10*cos(x);

x=X(1); y=X(2); cos(y)=X(3);

f1 表示dx/dt;f2dy/dt和 f3 在这种情况下是-10sinx. 但是,当表示为 x=X(1);y=X(2);时,我不确定如何表示 cos。这只是一个试验示例,我这样做是为了了解如何处理我们有cos,sin 等术语作为另一个变量的函数。

使用 ode45 求解这些方程时

[T,Res]=sol(3,@test_eq,@ode45,0,0.01,20,[7 2 100 ],10);

它引发以下错误

???尝试访问 (2);index 必须是正整数或逻辑整数。

Error in ==> Eq at 19
x=X(1); y=X(2); cos(x)=X(3); 
  1. 我的代表x=X(1); y=X(2); cos(y)=X(3);还好吗?
  2. 如何解决错误?谢谢
4

1 回答 1

1

不,您的陈述是完全错误的。您不可能以这种方式设置值!X(3)首先,您尝试为函数赋值。

首先,我不确定您是否理解两者之间的区别

x=4

4=x

这是完全不同的含义。如果你理解这一点,你会发现你不可能使用cos(x)=X(3).

sol()第二:你调用的函数是什么?你定义了吗?

第三,要求解或评估 ODE,您应该在 matlab中使用deval或函数。solve他们的帮助文件应该给你例子。

于 2012-06-29T08:33:30.177 回答