如何集成线性矢量方程组?
1视图(30天)
显示旧的评论
接受的答案
明星黾
2021年8月20日
信谊kappa n (s) r (s) s t (s) r0 t0 n0 Y
Eqn = [diff (r) = = t;差异(t) = = - r + k * n;diff (n) = = kappa * t];
研制= dsolve (Eqn r (0) = = r0, t (0) = = t0, n (0) = = n0)
t =简化(研制。t, 500)
r =简化(研制。r, 500)
n =简化(研制。n, 500)
另外:
(VF、潜艇)= odeToVectorField (Eqn)
rtnfcn = matlabFunction (VF),“var”,{年代,Y, kappa})
使用
“rtnfcn”
approopriate数字ODE求解器(例如0 de45 ode15s)取决于的大小
κ
。
例如:
sspan = linspace (0, 10);% s值的向量
initconds =兰德(3,1);%初始条件
(年代,研制)= ode15s(@(年代,研制,kappa), sspan, initconds);%集成
图
情节(年代,研制
网格
。
4评论
明星黾
2021年8月22日
像往常一样,这是我的荣幸!
”
有一个错字ode15s(@(年代,研制,kappa), sspan, initconds)”?
”
有。应该是:
[年代,研制]= ode15s(@(年代,研制rtnfcn(年代,研制,kappa) sspan, initconds);%集成
”
我可以用“rtnfcn”类边值解算器“bvp4c”?
”
可能。一个是创建
“卡巴”
作为一个匿名函数,例如
“年代”
作为独立的变量
“kapa”
因变量:
kapamtx = [s (:) kapa (:));
kappa = @ (s) interp1 (kapamtx (: 1), kapamtx (:, 2), s);
它是必要的
“年代”
的限制范围内
kapamtx (: 1) '
为了避免推断或返回
南
值
“年代”
在这个范围之外。
。