基本目标: 求解并绘制ODE 的解
D2f=a1*f+a0
在哪里
a1=k*H*H/c;
a0=-H*H*tau0/c;
c=0.1;
k=1;
H=1;
tau0=1;
我正在使用dsolve命令来查找具有上述常量值的解决方案。
sol=dsolve('D2th=a1*th+a0','th(0)=0','th(1)=0','t');
我没有得到一个分配了常量值的解决方案,而是得到了解决方案:
sol =
(exp(a1^(1/2)*t)*(a0 - a0*exp(-a1^(1/2))))/(a1*(exp(a1^(1/2)) - exp(-a1^(1/2)))) - (exp(-a1^(1/2)*t)*(a0 - a0*exp(a1^(1/2))))/(a1*(exp(a1^(1/2)) - exp(-a1^(1/2)))) - a0/a1
我需要 MATLAB 自动替换常量(a1、a0等)的值,然后求解方程,以便结果以完全简化的形式显示。
其次,我想绘制上述ODE的解决方案如下:
t0=0;
tf=1;
N=100;
h=(tf-t0)/N;
t=t0+(0:N)'*h;
plot(t,sol)
我已经尝试过plot(t,sol(t))
,但没有任何效果。
问题总结:首先通过替换解中常数的值来求解 ODE,然后针对列向量t绘制解。