matlab 中二阶常微分方程的数值解法y''-3y'+2y=1; y(0)=1; y'(0)=0; 用数值解法求y(0.5)数值解法有两个y值 -1.0696和0.7896 为什么会这样 符号解法只有一个值啊?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 06:44:03
matlab 中二阶常微分方程的数值解法y''-3y'+2y=1; y(0)=1; y'(0)=0; 用数值解法求y(0.5)数值解法有两个y值 -1.0696和0.7896 为什么会这样 符号解法只有一个值啊?

matlab 中二阶常微分方程的数值解法y''-3y'+2y=1; y(0)=1; y'(0)=0; 用数值解法求y(0.5)数值解法有两个y值 -1.0696和0.7896 为什么会这样 符号解法只有一个值啊?
matlab 中二阶常微分方程的数值解法
y''-3y'+2y=1; y(0)=1; y'(0)=0; 用数值解法求y(0.5)
数值解法有两个y值 -1.0696和0.7896 为什么会这样 符号解法只有一个值啊?

matlab 中二阶常微分方程的数值解法y''-3y'+2y=1; y(0)=1; y'(0)=0; 用数值解法求y(0.5)数值解法有两个y值 -1.0696和0.7896 为什么会这样 符号解法只有一个值啊?
odefun=@(t,x)[x(2);3*x(2)-2*x(1)+1];
[t,y]=ode45(odefun,[0:0.01:2],[1 0]);
plot(t,y)
[t y]
结果
y(0.5000)=0.7896
y= dsolve('D2y-3*Dy+2*y=1','Dy(0)=0','y(0)=1');
>> y
y =
exp(t) - exp(2*t)/2 + 1/2
>> feval(@(t)exp(t) - exp(2*t)/2 + 1/2,0.5)
ans =
0.7896

有一个值是速度值