matlab问题:使用ode45求如下微分方程的数值解,绘制y-t图

来自:    更新日期:早些时候
matlab中用ode45求微分方程的数值解问题~

步长在起始时间和结束时间中间设置,如想设置步长为0.1,可以用
[T,Y]=ode45('function1',[0 0.1 3000],[2 0]);
即在0和3000之间加上步长,如果不设置步长,默认为1。

先定义个函数:
function f=fffff(t,y)
f=[y(2);cos(y(1))];
然后
[t,y]=ode45(@fffff,[0,2],[0,0]);
plot(t,y(:,1),'r',t,y(:,2),'b')
即可。我给你设了初值【0,0】,你可以自己定义。红线为y,蓝线为y'.
你先把上面的函数fffff写成m文件,保存到你的matlab工作目录里,然后再在命令窗口输入:
[t,y]=ode45(@fffff,[0,2],[0,0]);
plot(t,y(:,1),'r',t,y(:,2),'b')
我作过,能做出图像的。

用ode45()求微分方程的格式为

 [T,Y] =ode45(odefun,tspan,y0)

odefun——微分方程自定义函数;tspan——t的区间;y0——y,dy的初始值。

用plot()绘出微分方程的解,即y(t)函数图形。

对于本提问,可以按下列代码实施。

下图是精确解与数值解的图形比较。




matlab问题:使用ode45求如下微分方程的数值解,绘制y-t图视频

相关评论:
  • 18260906794用matlab求解微分方程初值问题数值解和解析解,求解范围为区间.并画出...
    寿伊响用matlab求解微分方程初值问题数值解和解析解,可以这样处理:一、数值解 微分方程初值问题数值解可以用ode函数求解。首先,自定义微分方程的函数,即 dy = 3\/x*y+x^3*(exp(x)+cos(x))-2*x;其二,确定初始条件,即 y0=[(exp(pi)+2\/pi)*pi^3];其三,使用ode45函数,求出其数值解【x,y...

  • 18260906794用Matlab解决以下问题:
    寿伊响给出的微分方程可以用Matlab的ode()函数来解决。解决方法如下:x0=[1.5];func=@(x,y)-(y-log(x))\/(x*log(x));[x,y]=ode45(func,[exp(1) exp(5)],x0)plot(x,y),grid on xlabel('x'),ylabel('y(x)')str=['常微分方程xlnxdy+(y-lnx)dx=0,y(e)=3\/2的数值解']...

  • 18260906794matlab解微分方程的题目,求大神解答,谢谢?
    寿伊响Volterra-Lotka模型是种间竞争模型,本例两个物种是兔子和狐狸。该模型的数学表达式为常微分方程组,可以用matlab的ode函数来求解。求解方法:1、建立自定义该模型的数学函数,其内容 function dy=ode_fun(t,x)a=1;b=0.1;c=0.5;d=0.02;dy=[a*x(1)-b*x(1)*x(2);-c*x(2)+d*x(1...

  • 18260906794用matlab求解数值计算问题,matlab中已有各种数值计
    寿伊响用matlab求解数值计算问题方法:1、使用MATLAB中提供的ode45,ode23等函数,将微分方程直接输入函数,即可得到所求解的解析解。2、使用MATLAB中提供的函数linsolve,solve,inv等,将方程组参数输入函数,即可得到所求解的解析解。3、使用MATLAB中提供的fsolve函数,将非线性方程参数输入函数,即可得到所求解的...

  • 18260906794一道matlab关于求齐次方程的问题
    寿伊响给出的微分方程,可以用ode函数求解,得到其数值解。x=[1,4];y0=1;ode_fun=@(x,y)-(x^2*y*sin(x)+1)\/x;[x,y]=ode45(ode_fun,x,y0);plot(x,y);xlabel('x');ylabel('y');grid on 运行结果的图形如下

  • 18260906794matlab 中ode 应该怎样使用。下面的代码每次编译都说x没有定义,该怎么...
    寿伊响3)+x(1)*x(2);然后在命令窗口输入 [T,X]=ode45(@myfun, 1:10,[1 1 1])--- 希望对你有帮助,满意请采纳,有问题请追问, (^_^)谢谢 ---【Matlab爱好者】团队真诚为你解答

  • 18260906794这道matlab用ODE45怎么写?
    寿伊响用ode45()函数求解微分方程组的关键是建立起自定义函数,该函数的主要内容为 function dy=odefun(t,x); %保存为 odefun.m 文件 mu1=1500;mu2=150;dy(1)=x(1)*(1-x(2)\/mu2);dy(2)=-x(2)*(1-x(1)\/mu1);dy=dy(:);end 然后用ode45()函数命令,调用odefun()函数。编程后...

  • 18260906794我想问一下,你会matlab里的用ode解微分方程吗
    寿伊响嗯,会的 你如果想学的话,最好的方法是在matlab的帮助里面找,你在matla命令框里面输入help ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb 中任意一种,不同的型号皆不同类型的微分方程,望采纳···

  • 18260906794MATLAB解常微分方程组并画图的语句
    寿伊响说明 求解常微分方程一般使用ode系列函数(其中最常用的是ode45),基本做法就是把微分方程用函数表示出来,然后调用ode函数求解即可。对于本题而言,使用匿名函数描述微分方程更为方便一些。参考代码 k0=8; k1=1; K=1; k2=5; n=2; % 常数定义ds = @(t,s)[k0-k1*(1+(s(2)\/K)^n)*s...

  • 18260906794用MATLAB求解微分方程组
    寿伊响题主给出的微分方程组,可以这样求解:1、根据题意,该微分方程组可以使用ode45函数来求解 2、完善自定义微分方程组的函数,即 function dy = odefun(t,y)a,b,c,d,e,f都为参数 a=5.985;b=4.709;c=6.959;d=6.998;e=6.385;f=0.336; %为解题而设定 dy(1)=y(3)*c-y(1)*d;...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网