更新 我试图找到链接LE中给出的Lyapunov指数。我试图通过对我的案例采取以下方程来解决它并理解它。这些是一组常微分方程(这些只是用于测试如何使用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
; f2 dy/dt
,f3在这种情况下为-10sinx
。然而,当表达为x = X(1); y = X(2);我不确定如何表达cos.This只是一个试验例子我这样做是为了知道如何使用方程式我们有一个cos,sin等术语作为另一个变量的函数。
使用ode45解决这些Eqs时
[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);
x=X(1); y=X(2); cos(y)=X(3);
好吗?答案 0 :(得分:1)
没有你的陈述是完全错误的。
你不可能以这种方式设置值!
首先,您尝试将值X(3)
分配给功能。
首先我不确定你理解
之间的区别x=4
和
4=x
这是完全不同的含义。如果您理解这一点,您将看到无法使用cos(x)=X(3)
进行分配。
第二:你正在调用的函数sol()
是什么?你定义了吗?
第三,要解决或评估ODE,您应该在matlab中使用deval
或solve
函数。他们的帮助文件应该给你举例。