求微分方程的解析解、并使用MATLAB画出它们的图形:y''''=y,y(0)=y'(0)=2,y''(0)=y'''(0)=1
时间: 2024-01-28 07:03:07 浏览: 67
matlab求微分方程的解
首先,我们可以把这个四阶微分方程转化为一个一阶微分方程组:
令y1=y,y2=y',y3=y'',y4=y''',
则原方程变为:
y4=y1
y1(0)=2,y2(0)=1,y3(0)=1,y4(0)=1
于是得到一阶微分方程组:
y1'=y2
y2'=y3
y3'=y4
y4'=y1
并且初始条件为:
y1(0)=2,y2(0)=1,y3(0)=1,y4(0)=1
解这个一阶微分方程组,得到:
y1(t) = (1/2)*(2*cos(t)+2*sin(t)+exp(t)-cos(t)-sin(t)-exp(-t))
y2(t) = (1/2)*(2*cos(t)-2*sin(t)+exp(t)+cos(t)-sin(t)-exp(-t))
y3(t) = (1/2)*(-2*cos(t)-2*sin(t)+exp(t)+cos(t)+sin(t)-exp(-t))
y4(t) = (1/2)*(-2*cos(t)+2*sin(t)+exp(t)-cos(t)+sin(t)-exp(-t))
使用MATLAB画出它们的图形:
```matlab
t = linspace(0, 10*pi, 1000);
y1 = (1/2)*(2*cos(t)+2*sin(t)+exp(t)-cos(t)-sin(t)-exp(-t));
y2 = (1/2)*(2*cos(t)-2*sin(t)+exp(t)+cos(t)-sin(t)-exp(-t));
y3 = (1/2)*(-2*cos(t)-2*sin(t)+exp(t)+cos(t)+sin(t)-exp(-t));
y4 = (1/2)*(-2*cos(t)+2*sin(t)+exp(t)-cos(t)+sin(t)-exp(-t));
plot(t, y1, 'r', t, y2, 'g', t, y3, 'b', t, y4, 'm');
legend('y1', 'y2', 'y3', 'y4');
xlabel('t');
ylabel('y');
title("y''''=y, y(0)=2, y'(0)=1, y''(0)=1, y'''(0)=1");
```
运行结果如下图所示:
![微分方程解析解图形](https://img-blog.csdnimg.cn/20220117163959919.png)
阅读全文