用matlab的ode45求解如下微分方程的程序方程很简单:dx/dt=3x+cos(t)+sin(2t)x的初值为2,t的范围[0 10],时间步长h=0.2然后我用的程序如下function xx=lgkt(t,x);xx=3*x+cos(t)+sin(2*t);[t,x]=ode45(@lgkt,[0 10],[2]);plot(t,x
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 01:52:50
![用matlab的ode45求解如下微分方程的程序方程很简单:dx/dt=3x+cos(t)+sin(2t)x的初值为2,t的范围[0 10],时间步长h=0.2然后我用的程序如下function xx=lgkt(t,x);xx=3*x+cos(t)+sin(2*t);[t,x]=ode45(@lgkt,[0 10],[2]);plot(t,x](/uploads/image/z/3936042-18-2.jpg?t=%E7%94%A8matlab%E7%9A%84ode45%E6%B1%82%E8%A7%A3%E5%A6%82%E4%B8%8B%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%96%B9%E7%A8%8B%E5%BE%88%E7%AE%80%E5%8D%95%EF%BC%9Adx%2Fdt%3D3x%2Bcos%28t%29%2Bsin%282t%29x%E7%9A%84%E5%88%9D%E5%80%BC%E4%B8%BA2%2Ct%E7%9A%84%E8%8C%83%E5%9B%B4%5B0+10%5D%2C%E6%97%B6%E9%97%B4%E6%AD%A5%E9%95%BFh%3D0.2%E7%84%B6%E5%90%8E%E6%88%91%E7%94%A8%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%B8%8Bfunction+xx%3Dlgkt%28t%2Cx%29%3Bxx%3D3%2Ax%2Bcos%28t%29%2Bsin%282%2At%29%3B%5Bt%2Cx%5D%3Dode45%28%40lgkt%2C%5B0+10%5D%2C%5B2%5D%29%3Bplot%28t%2Cx)
用matlab的ode45求解如下微分方程的程序方程很简单:dx/dt=3x+cos(t)+sin(2t)x的初值为2,t的范围[0 10],时间步长h=0.2然后我用的程序如下function xx=lgkt(t,x);xx=3*x+cos(t)+sin(2*t);[t,x]=ode45(@lgkt,[0 10],[2]);plot(t,x
用matlab的ode45求解如下微分方程的程序
方程很简单:
dx/dt=3x+cos(t)+sin(2t)
x的初值为2,t的范围[0 10],时间步长h=0.2
然后我用的程序如下
function xx=lgkt(t,x);
xx=3*x+cos(t)+sin(2*t);
[t,x]=ode45(@lgkt,[0 10],[2]);
plot(t,x,'-o');
然后提示我说x没有被定义!
我是按照matlab的参考来的,也不知道哪里错了.另外,我不会在里面定义时间步长.多元的微分方程按照例子可以写出,但一元的弄不出来了.恳请大家帮我改正一下,最好详细点,说明一下注意的事项,
用matlab的ode45求解如下微分方程的程序方程很简单:dx/dt=3x+cos(t)+sin(2t)x的初值为2,t的范围[0 10],时间步长h=0.2然后我用的程序如下function xx=lgkt(t,x);xx=3*x+cos(t)+sin(2*t);[t,x]=ode45(@lgkt,[0 10],[2]);plot(t,x
你把lgkt中的x改成x(1)试试看,我试过应该没问题的
function xx=lgkt(t,x)
xx=3*x(1)+cos(t)+sin(2*t);
[t,x]=ode45(@lgkt,[0 10],[2]);
plot(t,x,'-o');