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。
随机阅读
- 北京沿海赛洛城邮编 武汉市东西湖区金山大道沿海赛洛城 邮编
- 住梅溪湖好还是河东好 老婆看中了金茂梅溪湖的房子,可我却在河东上班,这可怎么办?
- 伺服电机编码器怎样调零? 台达b2电机编码器调零
- 招标人回复投标人的质疑时间 招标人回复投标单位质疑投诉后,投标人答复有没有时限
- 广州从化英豪学校创始人 广州市英豪学校蒋校长
- 良渚单身公寓均价多少钱一平方米 南阳 美钻公寓
- 膨润土生产过程中有哪些环节会污染环境? 气力输送的计算实例
- 某年某月这一天 某年某月第一天是星期几的计算公式是什么?
- 无人深空 跑商循环 无人深空技术模块哪里获取
- 激光光电子显示产品展 你觉得长春这个城市怎么样?
- 湖北省公安县狮子口镇义星村 公安县狮子口镇碑口精米厂怎么样?
- 750ml国宾酒价格 毛家冲酒750ml收藏
- prezi注册到最后有错误 prezi错误问题
- 美少女的谎言到底是怎么回事 美少女的谎言 到底谁是A 第三季结局到底什么意思 还有第四季吗
- 地铁三号线水产路站到 水产路同济路地铁站怎么去人民广场
- 宁海永乐寺 男士SPA都有些什么项目
- 卡普水之都第几集 海贼王水之都篇是哪集到哪集
- 八方旅人 战斗属性 《八方旅人》获得了强化点数,怎么使用能够提高战斗力?
- 星级文明机关创建情况汇报 创建文明社区,文艺汇演主讲报告
- 智能加热体温站立实体娃娃怎么样? 实体娃娃植毛教程