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。
随机阅读
- 院校代号 浙江广播电视大学国际代码
- 10月赤水四洞沟游记 赤水四洞沟好玩吗,如果是周末玩,泸州可以去赤水什么地方,周六早上出发...
- 物质的氧化数是不是和化合价在数量上相等? 氧化数和化合价的相同点
- 请问新化县城有图书馆吗 新化南门药店大桥店
- 中年女性的性心理有哪些特点? 女性中年期的心理特征
- 关于时势造英雄的演讲稿
- 厦门禾祥西路新泉庄怎么去 连城至新泉多少公里
- 福建省福州市连江县东岱镇龙山村龙兴南路邮编是什么? 连江东岱镇东水村
- 青年如何保持氮平衡 健身后多久摄入多少蛋白质?
- 魁星点斗的意思 魁星点斗是什么
- 以feng音为开头四个字的成语或词汇. 风流罪过例匀
- 澳中直邮馆官方购物频道 有哪些靠谱澳洲海淘网站?
- 集成电路封装芯片弹坑问题浅探 封装中一焊点的位置高于二焊点怎么处理
- 贴片红胶作用 贴片红胶对身体有害吗
- 国家给下岗职工解决工作问题吗? 如何解决下岗再就业问题
- 三大试验区建设指的是什么 实验中心建设目标
- 这里面是徐工的25t吊车,吊车性能及下面这个说法对吗? 汽车起重机25t徐工
- 运营和营销是一样的吗?它们区别是什么呢? 湖州吴兴区公共资源
- 汉之云怎么锻造 轩辕剑外传汉之云如何打造武器
- 博兴哪里招聘养殖 山东潍坊有那些杀鸡厂