matlab解常微分方程

我想要数值解 求较详细步骤哇 x‘’+60*x+2.7*x^3=0,x(0)=0,x‘’(0)=34。
好像没解析解,但我想要数值解。感激不尽

第1个回答  2014-03-04

这个非常简单(初始条件有点问题,34应该是x'的初值):

 

dX = @(t,x) [x(2); -60*x(1)-2.7*x(1)^3];
ode45(dX,[0 5],[0 34])

 

两条线分别是x和x'随时间变化的曲线。

追问

但“MATLAB工具计算,内部有一元二阶方程求解公式” 这是老师跟我说的 能不能按照他说的做哈 分数都给你

追答

MATLAB工具计算,内部有一元二阶方程求解公式】这句话我没看明白是什么意思。

我使用MATLAB十几年了,对求解微分方程还算比较了解,包括常微分方程的初值问题、边值问题,解析解法、数值解法,都接触过不少,但还是看不太明白这句话。

 

用数值方法求解常微分方程的初值问题,一般都是用ode系列函数(包括ode23, ode45, ode113, ode15s, ode23s, ode23t, ode23tb 和 ode15i 等8个函数,各有不同的适用场合,其中ode45应用最为广泛),没听说还有什么别的做法。这几个函数都是MATLAB的基本函数,不需要安装其它任何工具箱。

本回答被提问者采纳

如何用matlab求解常微分方程?matlab解常微分方程之符号解法介绍_百度...
1、首先得介绍一下,在matlab中解常微分方程有两种方法,一种是符号解法,另一种是数值解法。在本科阶段的微分数学题,基本上可以通过符号解法解决。2、用matlab解决常微分问题的符号解法的关键命令是dslove命令。该命令中可以用D表示微分符号,其中D2表示二阶微分,D3表示三阶微分,以此类推。值得注意的...

matlab求解常微分方程的初值问题(更新中。。。)
MATLAB提供ode45指令求解非刚性微分方程,中等精度,基于四、五阶Runge-Kutta算法。使用方式如下:[x,y]=ode45(odefun,tspan,y0,options)。【算例5】使用MATLAB计算常微分方程的数值解。六. 收敛性与稳定性 讨论算法的收敛性和稳定性。收敛性要求解随步长趋于0时趋于精确解;稳定性要求误差不随计算步骤...

求解常微分方程?作图。matlab
用matlab求解常微分方程的解,及其图形解。可以用下列方法来实现:1、首先,建立自定义常微分方程函数, ode_fun(t,y)2、其二,用ode45函数求解其常微分方程的数值解[t,y]=ode45(@ode_fun,tspan,X0);其中:tspan为时间范围,X0为初始条件3、最后,用plot函数绘制t—y(t),t—y'(t)关系图,...

常微分方程的MATLAB求解——手写龙格-库塔法(R-K法)模板、一般步骤_百 ...
一阶微分方程示例1. ode45函数: 通过调用MATLAB自带函数,处理微分方程组。2. 手写4阶R-K法: 将微分方程组输入自定义函数,执行4阶R-K迭代。二阶微分方程处理对于二阶方程,首先将其转化为一阶方程组。然后,分别使用Fun1和Fun2函数进行迭代求解 y 和 y'。4阶R-K法:对于二阶方程,需要同时进行...

matlab求解常微分方程\/偏微分方程
function f = doty(x, y)f = -2*y + 2*x^2 + 2*x;end \/\/ main.m [x, y] = ode45('doty', [0, 0.5], 1);此处,[0, 0.5]为求解区间,1为初值列向量。对于刚性常微分方程,MATLAB提供了ode15s, ode23s, ode23t, ode23tb等函数,求解方法类似。对于高阶微分方程,MATLAB...

matlab中求解常微分方程的问题
1、【求解常微分方程的表达式里并没有a、b的值代入】常微分方程里面的a、b只是个符号量,与你输入的数据没有关联起来。可以把输入的a、b转换为字符串,在dsolve的时候拼接成待求解的微分方程,但那样比较麻烦。更可去的做法是直接求解,然后用subs函数代入数据。2、微分方程没有初值的话,得到的表达式...

Matlab学习笔记(6.5)常微分方程数值求解
在MATLAB中,求解常微分方程初值问题数值解的函数通常以'odennxx'命名,其中'ode'表示常微分方程,'nn'代表所用方法的阶数,'xx'用于标注方法的专门特征。例如,ode23采用2阶龙格-库塔法,并使用3阶公式进行误差估计,适合低精度需求;ode45采用4阶龙格-库塔法,利用5阶公式估计误差,适用于中等精度。例...

急求matlab求解常微分方程组数值 dx\/dt=ax(1-x\/m)+bxy dy\/dt=cy+dx...
经过上面的处理后,利用matlab的ode45来求解常微分方程 建立导函数文件fun.m,内容为:function dzdt=fun(t,z)a=1;b=-2;c=3;d=-4;m=5;%这些参数我随意设的,根据需要自己修改 dzdt=[a*z(1)*(1-z(1)\/m)+b*z(1)*z(2);c*z(2)+d*z(1)*z(2)];设定积分区间 TSpan=[0,10...

用matlab求解常系数微分方程组并画出图像
function y=fun(t,x)y=zeros(3,1);x1=x(1);x2=x(2);x3=x(3);y(1)=x1*(1-x1\/150000-0.5*x2\/30000);y(2)=x2*(-1-x2\/30000+0.5*x1\/150000-2*x3\/2200);y(3)=x3*(-1-x3\/2200+2*x2\/30000);2解方程并画图 [t,x]=ode23(@fun,[0,1],[121000,27000,2000])...

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

相似回答