【发布时间】:2017-11-10 21:20:31
【问题描述】:
我有一个微分方程如下:
%d/dt [x;y] = [m11 m12;m11 m12][x;y]
mat = @(t) sin(cos(w*t))
m11 = mat(t) + 5 ;
m12 = 5;
m21 = -m12 ;
m22 = -m11 ;
所以我知道我的矩阵特别依赖于 t。出于某种原因,我很难用 ode45 解决这个问题。我的想法如下(我想在定义的时间 T 求解 x,y):
t = linspace(0,T,100) ; % Arbitrary 100
x0 = (1 0); %Init cond
[tf,xf] = ode45(@ddt,t,x0)
function xprime = ddt(t,x)
ddt = [m11*x(1)+m12*x(2) ; m12*x(1)+m12*x(2) ]
end
我得到的第一个错误是
Undefined function or variable 'M11'.
有没有更清洁的方法可以做到这一点?
【问题讨论】:
标签: matlab differential-equations