matlab求解微分方程y''+y=1-t^2/π,y(-2)=-5,y'(-2)=5,t ∈[-2,7]分别求解析解与数值解,并进行比较。

如题所述

给你一个隐式常微分方程的例子,你可以对照修改。 t·y2 ·y'3 - y3· y'2+ t·(t2+ 1)·y' - t2·y=0 1、首先建立自定义函数文件 function res = weissinger(t,y,yp) res = t*y^2 * yp^3 - y^3 * yp^2 + t*(t^2 + 1)*yp - t^2 * y; 2、然后建立执行命令文件 clc,clear all t0 = 1; y0 = sqrt(3/2); yp0 = 0; [y0,yp0] = decic(@weissinger,t0,y0,1,yp0,0); [t,y] = ode15i(@weissinger,[1 10],y0,yp0); ytrue = sqrt(t.^2 + 0.5); plot(t,y,t,ytrue,'o'); 运行结果 希望对你有帮助,如对其还有什么问题,可以再帮你。提问时最好把具体问题书写完整。追问

还是没太看懂你的程序

温馨提示:内容为网友见解,仅供参考
无其他回答

用matlab来解有5个变量的微分方程组
给出一个2个变量的微分方程组求解代码:syms x(t) y(t)z = dsolve(diff(x) == y, diff(y) == -x,x(0)==1,y(0)==1);x=z.x,y=z.y 运行结果为:x = cos(t) + sin(t)y = cos(t) - sin(t)

matlab微分方程的解?
syms y(x) z(x)2、对变量y(x),z(x)求一阶导数,即 Dy=diff(y,1);Dz=diff(z,1);3、使用dsolve求y(x),z(x)解析表达式,即 [y,z]=dsolve(Dy-z==sin(x),Dz+y==1+x,y(0)==2,z(0)==7)4、将x【0,10】间划分若干等份,如n=50 5、分别计算与x对应的y(x),z(x)...

matlab 如何求一组微分方程组的通解?
C2 + Vx*t y2 = C4 - (t*(b*Vx^3 + b*Vx*Vy^2 + b*Vx*Vz^2))\/m y3 = C6 + Vy*t y4 = C8 - (t*(b*Vx^2*Vy + b*Vy^3 + b*Vy*Vz^2))\/m y5 = C10 + Vz*t y6 = C12 - (t*(b*Vx^2*Vz + b*Vy^2*Vz + b*Vz^3))\/m ...

如何用matlab求解微分方程并画图
如何用matlab求解微分方程并画图,可以先用dsolve()或ode()求出其微分方程(组)的解析解或数值解,然后用plot()绘制其图形。例如:解微分方程 y'=y-2t\/y,y(0)=1,0<t<4 1、用dsolve()求解,代码及结果如下 2、用ode45()求解,代码及结果如下 3、当然喽,使用dsolve()或ode(...

matlab求微分方程
2. 定义微分方程 在MATLAB中,可以使用syms命令定义符号变量,并使用diff命令对变量进行求导。例如,假设要求解微分方程dy\/dx=x^2,可以使用以下代码:syms y(x)eqn = diff(y,x) == x^2;3. 求解微分方程 在定义好微分方程之后,可以使用dsolve命令求解微分方程。例如,对于上述微分方程,可以使用...

MATLAB 求微分方程数值解 y''-y'+y=0 y(1)=2,y(2)=0, x∈[0,20] MAT...
程序总体上是对的,有什么问题?

用matlab求微分方程的解析解和数值解,并进行比较。
clear allclcf=@(x,y)([y(2);2*x*y(2)\/(1+x^2)]);[X,Y]=ode45(f,0:100,[1 3]);y=dsolve('D2y-2*x*Dy\/(1+x^2)','y(0)=1','Dy(0)=3','x');y=@(x)(eval(y));YY=y(0:100);plot(0:100,Y(:,

如何利用matlab求微分方程通解?
1、 打开Matlab软件-->点击新建脚本菜单,新建一个脚本文件用于编写微分方程求解程序。2、 输入微分方程求解程序-->点击保存-->点击运行。3、在matlab的命令窗口即可看到求解结果,是一个关于参数a,b的表达式 第二种方法:利用Matlab中的solver函数(包括ode45、ode23、ode15s等)来求解微分方程的数值解...

matlab求微分方程y'+y=e^(-x)
该微分方程可以用dsolve函数来求解。其求解过程如下:>>syms y(x)>> Dy=diff(y);>> y=dsolve(Dy+y==exp(-x))

MATLAB求解微分方程组
在MATLAB中求解微分方程组是一项关键技能,尤其涉及二阶微分方程组的处理。首先,我们了解如何将二阶微分方程转换为一组一阶微分方程。以一个具有三个二阶微分方程的系统为例,我们可将其转换为六个一阶微分方程,具体表示为:dy = @(t,y)[y(4:6); (-K*y(1:3)-C*y(4:6)+[Qy;0;0])....

相似回答