-
2020-02-11 23:15:55
解微分方程组:
x’=-x^3-y,x(0)=1
y’=x-y^3,y(0)=0.5 0<t<30编辑器窗口:
%M函数eg6_3fun.m
function f=eg6_3fun(t,x)
f(1)=-x(1)^3-x(2);
f(2)=x(1)-x(2)^3;
f=f(😃;%注意要保证f为列向量指令窗口:
[t,x]=ode45(@eg6_3fun,[0 30],[1;0.5] %1和0.5是初始值
解应该是x(t),y(t)两个函数
所以
把x和y都写成一个x
x表示一个向量
x----x(1)
y----x(2)算法本身要求f是列向量,
所以,f=f(:)更多相关内容 -
MATLAB解微分方程组
2019-01-22 18:55:09解单一微分方程组 S=dsolve(eqn,cond) eqn是微分方程等式,其中微分用diff函数表示,cond是确定微分方程不定系数的条件。注意函数要用带括号的形式定义。即: y(x)=2∗x;y(x)=2*x;y(x)=2∗x; 不能是 y=2∗x;y=2*x...解单一微分方程组
S=dsolve(eqn,cond)
eqn是微分方程等式,其中微分用diff函数表示,cond是确定微分方程不定系数的条件。注意函数要用带括号的形式定义。即:
y ( x ) = 2 ∗ x ; y(x)=2*x; y(x)=2∗x; 不能是 y = 2 ∗ x ; y=2*x; y=2∗x;
确定初始条件时要设置一个新变量:
D y = d i f f ( y , x ) D y ( 0 ) = = 1 Dy=diff(y,x)\quad Dy(0)==1 Dy=diff(y,x)Dy(0)==1
如果没有cond则为解中含有不定系数C。举例
求解微分方程: y ′ ′ ′ − 3 y ′ ′ + 3 y ′ − y = − 1 y'''-3y''+3y'-y=-1 y′′′−3y′′+3y′−y=−1
初始条件 y ′ ′ ( 0 ) = y ′ ( 0 ) = 1 , y ( 0 ) = 2 y''(0)=y'(0)=1,\quad y(0)=2 y′′(0)=y′(0)=1,y(0)=2
解微分方程组
Y=dsolve(eqns,cond)
Y、eqn的形式和solve中的Y相同(参见解方程组部分)
举例
{ x ′ − 2 y ′ ′ − 2 y = 0 , x ( 0 ) = x ′ ( 0 ) = 0 x ′ ′ − 2 y ′ = 2 s i n ( t ) , y ( 0 ) = y ′ ( 0 ) = 1 \left\{ \begin{aligned} x'-2y''-2y=0,\quad x(0)=x'(0)=0\\ x''-2y'=2sin(t),\quad y(0)=y'(0)=1 \end{aligned} \right. {x′−2y′′−2y=0,x(0)=x′(0)=0x′′−2y′=2sin(t),y(0)=y′(0)=1
-
matlab解微分方程组代码下载-simplePde1d:适用于Octave和MATLAB的基本1DPDE解算器
2021-05-28 13:45:39matlab解微分方程组代码下载pde1d 用于Octave和MATLAB的一维偏微分方程求解器 pde1d在单个空间变量和时间中求解偏微分方程组。 输入大部分与MATLAB函数pdepe兼容。 许多pdepe示例仅需很小的改动就可以与pde1d一起... -
matlab求解微分方程组代码-matlab_calculation_method:此项目是“计算方法”书中提到的经典方法和算法的...
2021-05-23 12:03:39matlab求解微分方程组代码 计算方法(calculation methodb) 该项目是《计算方法》一书中提到的经典方法和算法的matlab程序实现,包含代码详解和运行过程。 :grinning_face_with_big_eyes: 1.简介 2.线性方程组的... -
用matlab解微分方程组并作图
2021-04-20 05:06:51共回答了19个问题采纳率:89.5%function dx=appollo(t,x)mu=1/82.45;mustar=1-mu;r1=sqrt((x(1)+mu)^2+x(3)^2);r2=sqrt((x(1)-mustar)^2+x(3)^2);dx=[x(2)2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3x...共回答了19个问题采纳率:89.5%
function dx=appollo(t,x)
mu=1/82.45;
mustar=1-mu;
r1=sqrt((x(1)+mu)^2+x(3)^2);
r2=sqrt((x(1)-mustar)^2+x(3)^2);
dx=[x(2)
2*x(4)+x(1)-mustar*(x(1)+mu)/r1^3-mu*(x(1)-mustar)/r2^3
x(4)
-2*x(2)+x(3)-mustar*x(3)/r1^3-mu*x(3)/r2^3];
--------------------------------------------------------------------------------------
x0=[1.2;0;0;-1.04935751];%x0(i)对应与xi的初值
options=odeset('reltol',1e-8);%该命令的另一种写法是options=odeset;options.reltol=1e-8;
tic
[t,y]=ode45(@appollo,[0,20],x0,options);%t是时间点,y的第i列对应xi的值,t和y的行数相同
toc
plot(y(:,1),y(:,3))%绘制x1和x3,也就是x和y的图形
title('Appollo卫星运动轨迹')
xlabel('X')
ylabel('Y')
1年前
10
-
用MATLAB求解微分方程及微分方程组
2015-04-03 20:25:35用MATLAB求解微分方程及微分方程组方法介绍和例子。Matlab -
2.龙格库塔_matlab_matlab求微分方程组解的一种算法_
2021-10-01 09:46:57龙格库塔法是用于非线性常微分方程的解的重要的一类隐式或显式迭代法。 -
龙格库塔解微分方程,龙格库塔解微分方程组,matlab
2021-09-10 17:56:03四届龙格库塔法求解线性、非线性单自由度振动系统微分方程 -
matlab解微分方程组代码下载-stedy:张拉整体动力学软件
2021-06-16 07:06:22我们已经开发了一个拉格朗日公式,用于推导控制经典张拉整体系统动力学的代数微分方程。 该框架足够通用,可以对具有驱动关节的通用多体系统进行建模。 此外,在最小化几何和能量约束违反的直接校正方法的帮助下,... -
matlab解微分方程组代码下载-ASEE17:该存储库包含ASEE2017论文中描述的MATLAB代码和代码段。讲师可以下载该...
2021-05-28 13:45:35matlab解微分方程组代码下载大会17 该存储库包含ASEE 2017论文中描述的MATLAB代码和代码段。 该存储库中的代码需要MATLAB的偏微分方程工具箱(pdetool)。 讲师可以下载该材料并用于其课程。 请适当地引用此工作... -
基于Matlab常系数线性微分方程组的求解.pdf
2021-06-27 12:17:16基于Matlab常系数线性微分方程组的求解.pdf -
如何使用MATLAB求解微分方程组_非线性微分方程组求解
2020-07-09 08:31:36TMU_BME_2013 Topic: 如何使用 MATLAB 求 解常微分方程组 a.What ? 微分方程 指描述未知函数的导数与自变 量之间的关系的方程未知函数是一元函 数的微分方程称作 常微分方程 未知函数 是多元函数的微分方程称作 偏... -
8一节课精通matlab入门求微分方程组的通解特解数值解.zip
2019-10-12 14:13:35一节课精通matlab入门求微分方程组的通解特解数值解,包括详细的代码资料和讲解注释 -
怎么用MATLAB求解微分方程组并画出解函数图?
2021-04-18 08:51:19//函数定义,用于计算微分方程组中各方程右端函数值,连分式法对微分方程组积分一步函数pbs1将调用该函数f。 //t为自变量,x,y为函数值,dx,dy为右端函数值(即微分方程的值)。 f(t,x,y,dx,dy)= { dx=-(x^3)-y, dy...!using["XSLSF"]; //使用命名空间XSLSF
//数组xArray存放x的值;ti为当前有效值的个数;tmax为ti对应的时间;tmin为起始时间。
xt(t:k:xArray,ti,tmax,tmin)=
{
k=(t-tmin)/(tmax-tmin)*ti-1,
if[k<0, k=0], if[k>=ti, k=ti-1],
xArray.getrai[k]
};
//数组yArray存放y的值;ti为当前有效值的个数;tmax为ti对应的时间;tmin为起始时间。
yt(t:k:yArray,ti,tmax,tmin)=
{
k=(t-tmin)/(tmax-tmin)*ti-1,
if[k<0, k=0], if[k>=ti, k=ti-1],
yArray.getrai[k]
};
//函数定义,用于计算微分方程组中各方程右端函数值,连分式法对微分方程组积分一步函数pbs1将调用该函数f。
//t为自变量,x,y为函数值,dx,dy为右端函数值(即微分方程的值)。
f(t,x,y,dx,dy)=
{
dx=-(x^3)-y,
dy=x-y^3
};
//用连分式法对微分方程组进行积分,获得理论值。
//t1,t2为积分的起点和终点。
//h,s为自动变量。
//模块变量:hf为函数f的句柄,要预先获得该句柄;Array为工作数组;step为积分步长;eps为积分精度。
积分(t1,t2:h,s:hf,Array,step,eps)=
{
s=ceil[(t2-t1)/step], //计算积分步数
h=(t2-t1)/s, //重新计算积分步长
{ pbs1[hf,t1,Array,h,eps], //对微分方程组积分一步
t1=t1+h //积分步长增加
}.until[abs(t1-t2)
};
数据(:i,h,t1,t2,x,y,static,free:hf,Array,step,eps,max,xArray,yArray,ti,tmax,tmin)= //微分方程组积分获得数据
{
if[free,delete(Array),delete(xArray),delete(yArray),return(0)],
hf=HFor("f"), //模块变量hf保存函数f的句柄,预先用函数HFor获得该句柄
step=0.01,eps=1e-6, //积分步长step要合适,积分精度eps越小越精确,用于对微分方程组积分一步函数pbs1
Array=new[rtoi(real_s),rtoi(2*15)], //申请工作数组
max=1001,
xArray=new[rtoi(real_s),rtoi(max)], //申请工作数组
yArray=new[rtoi(real_s),rtoi(max)], //申请工作数组
Array.setra(0,1,0.5), //设置积分初值,通过模块变量Array传递,Array是一个数组
xArray.setra(0,1), //设置xArray的第一个值
yArray.setra(0,0.5), //设置yArray的第一个值
ti=1, h=step*3, tmin=0, tmax=0, t1=0, t2=h,
i=1,(i
积分(&t1,t2), //从t1积分到t2
Array.getra(0,&x,&y), //从数组Array获得t2时的积分值
xArray.setra(i,x), yArray.setra(i,y), //将积分值保存到数组
ti=i+1, tmax=t1, t2=t2+h,
i++
}
};
//绘制函数图形
(::hxt,hyt)= hxt=HFor("xt"), hyt=HFor("yt"); //获得函数xt和yt的句柄,保存在模块变量中
gleDrawScene[HFor("Scene")],stop(); //设置场景绘制函数后退出
Scene(::hxt,hyt,tmax,tmin)=
{
glClear[], //清除屏幕以及深度缓存
glLoadIdentity[], //重置视图
glTranslated[0,0,-20], //移动坐标,向屏幕里移动10个单元
glColor3d[0,0,1], //设置颜色
fgPlot[hxt,tmin,tmax,FG_Y,-1,2], //绘制一元函数图象
glColor3d[1,0,0], //设置颜色
fgPlot[hyt,tmin,tmax,FG_Y,-1,2] //绘制一元函数图象
};
-
三课时精通matlab求解微分方程组和相平面图
2021-06-18 23:19:55精通matlab求解微分方程组和相平面图 -
matlab解微分方程组代码下载-Nominal_NMPC:使用Casadi和UnscentedKalman滤波器状态估计实现基本非线性模型...
2021-06-16 07:06:16matlab解微分组代码下载标称非线性模型预测控制 此存储库中的代码是 Python 中带有软约束的基本非线性模型预测控制 (NMPC) 实现,它使用 Unscented Kalman 滤波器进行状态估计。 NMPC 算法不考虑可能的不确定性,... -
Matlab解微分方程组
2022-05-29 19:08:42这个微分方程组有点难解,解了很长时间还没解出来,不知道什么原因求帮助解一下 -
matlab解偏微分方程
2018-09-17 21:51:49代码为2018年全国数学建模竞赛a题第一问matlab源程序,可动态生成三层隔热服距离与温度的关系图,以及三层隔热服的温度分布图。主要内容建立在一维非稳态热传导以及偏微分方程的解法程序 -
matlab求解微分方程的解析解
2022-03-21 10:08:38本文将研究微分方程的解析解算法,介绍在MATLAB 环境中如何用微分方程求解函数直接得出线性微分方程组的解析解,并对一阶简单的非线性微分方程的解析解求解进行探讨,从而得出结论,一般非线性微分方程是没有解析解... -
MATLAB实现欧拉法求解常微分方程组.zip
2020-02-29 12:23:32对于难解的常微分方程,使用matlab求数值解 分两个m文件,一个为调用指令,一个为原函数 可以根据自己的所求方程不同适当修改代码求解 每一步都有注释,一边看注释一边体会才是提升的最好办法 -
用matlab解微分方程
2021-05-24 20:08:37研究了使用matlab如何解微分方程。 -
matlab求解常微分方程(组)
2021-04-23 13:17:10二、函数功能介绍及例程1、dsolve 函数dsolve函数用于求常微分方程组的精确解 也称为常微分方程的符号解。如果没有初始条件或边界条件 则求出通解 如果有 则求出特解。1)函数格式Y dsolve(‘eq1,eq2,... -
如何用matlab求解非线性微分方程组(基于龙格库塔的数值微分算法)?.docx
2021-10-31 00:14:10如何用matlab求解非线性微分方程组(基于龙格库塔的数值微分算法)?.docx -
用Matlab解微分方程培训教材_微分方程的特解怎么求
2020-04-22 09:08:55用 Matlab 解微分方程;一微分方程的解析解;输入命令: y=dsolve'D2y+4*Dy+29*y=0'y(0)=0,Dy(0)=15'x;二微分方程的数值解;二建立数值解法的一些途径;2使用数值积分;3使用泰勒公式; 1在解n个未知函数的方程组时x0和x均... -
matlab中的微分方程-matlab中的微分方程.doc
2019-08-13 15:33:07Matlab提供了解决包括解微分方程在内的各种类型问题的函数: 1. 常规微分方程(ODEs)的初始值问题 初值问题是用MATLAB ODE求解器解决的最普遍的问题。初始值问题最典型的是对非刚性度(?nonstiff)问题应用... -
Matlab求解微分方程(组)及偏微分方程(组)
2014-04-21 21:31:13Matlab求解微分方程(组)及偏微分方程(组) -
【MATLAB】求微分方程的通解
2022-02-06 20:29:55例: f=dsolve(’D2y+9*y-18*cos(3*x)- 30*sin(3*x)=0’,’x’); f=sin(3*x)*C2+cos(3*x)*C1+cos(3*x)+3*sin(3*x)*x-5* cos(3*x)*x -
基于MATLAB的高阶常微分方程组求解(附完整代码)
2022-05-02 22:15:14高阶常微分方程组 例题2 三. 刚性微分方程 例题3 例题4 四. 隐式微分方程 例题5 一. 单个高阶常微分方程 一个高阶常微分方程的一般形式如下: 输出变量y(t)的各阶导数初始值为如下: 选择一组状态... -
Matlab 龙格库塔解常微分方程组练习
2018-12-27 00:24:46练习。使用四阶龙格库塔法求解常微分方程组,通用性较佳。附加一个振动方程求解的案例。振动方程是一个二阶微分方程,转化为两个方程组以后用编写的代码求解。