【发布时间】:2019-09-04 00:51:45
【问题描述】:
我正在尝试使用ode45 求解一组 ODE 方程。我的一些参数已经是时间的函数,但我不断收到错误。
function odo
dx(1,1) = (vl+vr)/2*cos(x(3));
dx(2,1) = (vl+vr)/2*sin(x(3));
dx(3,1) = obz
其中obz、vr 和vl 分别是向量,例如:
obz = sin(t), t = 0:dt:tf;
我使用以下语法:
[t, x1] = ode45(@(t,x) odo(t,x,b,obz,vr,vl), 0:dt:tf, [0;0;0]);
使用R15,但不断收到错误:
Assignment 的非单例右轴维度比非单例下标多
如何解决这个问题?
【问题讨论】:
-
您没有向
odo声明输入或输出,这是为什么呢? -
“obz、vr 和 vl 都是向量”是什么意思?你的意思是像之后的代码一样,它们是作为函数表给出的 t 的函数吗?或者它们是作为公式给出的函数?
标签: matlab ode differential-equations equation-solving ode45