MATLAB中已知系统微分方程及初始值用欧拉法和龙格库塔法解一阶微分方程 function Euler欧拉法和龙格库塔算法解一阶常微分方程源代码例子dy/dx=-y+x+1f=inline('-y+x+1','x','y');微分方程的右边项dx=0.5;x方向步长xleft=0;区域的左边界xright=10;区域的右边界xx=xleft:dx:xright;一系列离散的点n=length(xx);点的个数y0=1;(1)欧拉法Euler=y0;for i=2:nEuler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1));end(2)龙格库塔法RK=y0;for i=2:nk1=f(xx(i-1),RK(i-1));k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2);k3=f(xx(i-1)+dx/2,RK(i-1)+k2*dx/2);k4=f(xx(i-1)+dx,RK(i-1)+k3*dx);RK(i)=RK(i-1)+dx*(k1+2*k2+2*k3+k4)/6;endEuler和Rk法结果比较plot(xx,Euler,xx,RK)hold on精确解用作图syms xrightsolve=dsolve('Dy=-y+x+1','y(0)=1','x');求出解析解rightdata=subs(rightsolve,xx);将xx代入解析解,得到解析解对应的数值plot(xx,rightdata,'r*')legend('Euler','Runge-Kutta','analytic')什么是欧拉方法(Euler's method)? ?www.zhihu.com 简单来说,隐式欧拉这里 是已知的,这里的 才是未知量,F是函数。我们需要求得当F=0时,y究竟应该是多少,也就是根是多少。怎么办呢?先猜一个数,然后。分别用 欧拉法 和 四阶龙格-库塔法 解微分方程 f=inline('x*y','x','y');微分2113方程的右边项dx=0.05;x方向步长xleft=0;区域的左5261边界4102xright=3;区域的右边界xx=xleft:dx:xright;一系列离散的点n=length(xx);点的个数y0=1;(1)欧拉法Euler=y0;for i=2:nEuler(i)=Euler(i-1)+dx*f(xx(i-1),Euler(i-1));end(2)龙格1653库塔法RK=y0;for i=2:nk1=f(xx(i-1),RK(i-1));k2=f(xx(i-1)+dx/2,RK(i-1)+k1*dx/2);k3=f(xx(i-1)+dx/2,RK(i-1)+k2*dx/2);k4=f(xx(i-1)+dx,RK(i-1)+k3*dx);RK(i)=RK(i-1)+dx*(k1+2*k2+2*k3+k4)/6;endEuler和Rk法结果比较plot(xx,Euler,xx,RK)hold on精确解用作图syms xrightsolve=dsolve('Dy=x*y','y(0)=1','x');求出解析解rightdata=subs(rightsolve,xx);将xx代入解析解,得到解析解对应的数值plot(xx,rightdata,'r*')legend('Euler','Runge-Kutta','analytic')数值分析计算方法求解 欧拉法的局部截断误差的阶为O(h2);改进欧拉法的局部截断误差的阶为 O(h3);三阶龙格-库塔法的局部截断误差的阶为 O(h4).四阶龙格-库塔法的局部截断误差的阶为 O(h5).欧拉法的绝对稳定实区域为-2龙格-库塔方法求解三阶常微分方程 第一步:将高阶常微分方程转换成常微分方程组,func(t,x)第二步:调用runge_kutta(@func,y0,h,a,b)例如:二阶常微分方程func。mfunction z=func(t,y)z=[y(2);(1-y(1)^2)*y(2)-y(1)];main。mclear all;close all;clcy0=[0.25;0];h=0.1;a=0;b=20;[t1 y1]=runge_kutta(@rhs_7,y0,h,a,b)分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题 分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题(1)Y'=Y-2X/Y,Y(0)=1,X=[0,1],H=0.1(2)Y'=X2+。求数值分析大神解题? 有问题,上知乎。知乎,可信赖的问答社区,以让每个人高效获得可信赖的解答为使命。知乎凭借认真、专业和友善的社区氛围,结构化、易获得的优质内容,基于问答的内容生产。怎么用龙格库塔法 初值给一下。在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存%function dxdt=ode_Miss_ghost(t,x)%分别用x(1),x(2),x(3),x(4)代替N1,P1,N2,P2N1=x。
随机阅读
- 两个部门相互推卸责任,扯皮事不断怎么解决 跟铺砖工人扯皮可以找消协吗
- iphone怎么设置闹钟铃声,苹果闹钟铃声设置教程 iphone xr怎么调闹铃声
- 红米note 7 pro全款支付 我的手机是红米note7Pro,用的中国移动的卡经常断流,明明现实4G 但是就是零点几KB的网速。
- 泰迪狗几个月剃胎毛好 刚剃光毛吃什么毛发好 泰迪狗几个月毛能长的好看
- 在广西有合川桃片卖吗? 合川桃片怎么卖
- 金属表面处理剂有哪些? 表面活性剂腐蚀金属时间关系
- justin bieber永不言败 Justin Bieber永不言败里38分14秒里演唱的那首共同分母的原调的歌名叫什么?
- 关于月经周期正确的有 月经周期
- 怎样查U盘的传输速度 怎么检验u盘传输速度
- 熊猫贡献点
- 年薪十万,还去审计局事业编制吗? 上海电气的审计单位
- C++程序设计 153水仙花数流程图
- 合肥各区域税收 合肥买房限购政策2018有哪些?外地人在合肥买房条件是什么?
- 你好。你们这边有修正药业的风湿安泰片吗? 风湿安泰片可以吃痛风吗
- 超级兵王叶天辰的老婆是谁 超级兵王 语音
- 高清机顶盒连接显示器 用网络机顶盒连电脑显示器看电视方法攻略!!
- 爱亲母婴是加盟孕婴店10大品牌吗? 咨询母婴店加盟 请代理爱亲
- 你觉得卡牌大师哪个皮肤用起来手感最好? 卡牌未来战士原画
- 大梵般若的武功招式 大梵般若三个境界
- 我把机顶盒换到另一个电视上,遥控器连接不上怎么办 语音遥控为什么总是和机顶盒配对不上