《解微分方程欧拉法,R-K法及其MATLAB实例》由会员分享,可在线阅读,更多相关《解微分方程欧拉法,R-K法及其MATLAB实例(4页珍藏版)》请在人人文库网上搜索。

1、解微分方程的欧拉法,龙格-库塔法及其MATLAB简单实例欧拉方法(Euler method)用以对给定初值的常微分方程(即初值问题)求解分为前进EULER法、后退EULER法、改进的EULER法。缺点:欧拉法简单地取切线的端点作为下一步的起点进行计算,当步数增多时,误差会因积累而越来越大。因此欧拉格式一般不用于实际计算。改进欧拉格式:为提高精度,需要在欧拉格式的基础上进行改进。采用区间两端的斜率的平均值作为直线方程的斜率。改进欧拉法的精度为二阶。算法为:微分方程的本质特征是方程中含有导数项,数值解法的第一步就是设法消除其导数值。对于常微分方程:xa,by(a) = y0可以将区间a,b分成n段。

2、,那么方程在第xi点有y(xi) = f(xi,y(xi),再用向前差商近似代替导数则为:在这里,h是步长,即相邻两个结点间的距离。因此可以根据xi点和yi点的数值计算出yi+1来:i=0,1,2,L这就是向前欧拉格式。改进的欧拉公式:将向前欧拉公式中的导数f(xi,yi)改为微元两端导数的平均,即上式便是梯形的欧拉公式。可见,上式是隐式格式,需要迭代求解。为了便于求解,使用改进的欧拉公式:数值分析中,龙格库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭代法。实际上,龙格-库塔法是欧拉方法的一种推广,向前欧拉公式将导数项简单取为f(xn,yn),而改进的欧拉公式。

3、将导数项取为两端导数的平均。龙格-库塔方法的基本思想:在区间xn,xn+1内多取几个点,将他们的斜率加权平均,作为导数的近似。龙格库塔法的家族中的一个成员如此常用,以至于经常被称为“RK4”或者就是“龙格库塔法”。令初值问题表述如下。则,对于该问题的RK4由如下方程给出:其中这样,下一个值(yn+1)由现在的值(yn)加上时间间隔(h)和一个估算的斜率的乘积决定。该斜率是以下斜率的加权平均:k1是时间段开始时的斜率;k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点tn + h/2的值;k3也是中点的斜率,但是这次采用斜率k2决定y值;k4是时间段终点的斜率,其y值用k3决定。当四个斜。

4、率取平均时,中点的斜率有更大的权值:RK4法是四阶方法,也就是说每步的误差是h5阶,而总积累误差为h4阶。注意上述公式对于标量或者向量函数(y可以是向量)都适用。例子:下面给出了数值求解该微分方程的简单程序。其中y1,y2,y3,y4分别为向前欧拉公式,改进的欧拉公式,4级4阶龙格-库塔公式及精确解。h=0.1;x=0:h:1;y1=zeros(size(x);y1(1)=1;y2=zeros(size(x);y2(1)=1;y3=zeros(size(x);y3(1)=1;for i1=2:length(x)y1(i1)=y1(i1-1)+h*(y1(i1-1)-2*x(i1-1)/y1(i。

5、1-1);k1=y2(i1-1)-2*x(i1-1)/y2(i1-1);k2=y2(i1-1)+h*k1-2*x(i1)/(y2(i1-1)+h*k1);y2(i1)=y2(i1-1)+h*(k1+k2)/2;k1=y2(i1-1)-2*x(i1-1)/y2(i1-1);k2=y2(i1-1)+h*k1/2-2*(x(i1-1)+h/2)/(y2(i1-1)+h*k1/2);k3=y2(i1-1)+h*k2/2-2*(x(i1-1)+h/2)/(y2(i1-1)+h*k2/2);k4=y2(i1-1)+h*k3-2*(x(i1-1)+h)/(y2(i1-1)+h*k3);y3(i1)=y3(i1-1)+(k1+2*k2+2*k3+k4)*h/6;endy4=sqrt(1+2*x);%plot(x,y1,x,y2,x,y3,x,y4)%legend(y1,y2,y3,y4)plot(x,y4-y1,x,y4-y2,x,y4-y3)legend(y1,y2,y3。

经典r-k法 matlab,解微分方程欧拉法,R-K法及其MATLAB实例相关推荐

  1. matlab 向前欧拉公式,向前欧拉公式在Matlab解微分方程初值解的问题

    向前欧拉公式在Matlab解微分方程初值解的问题0 fuqilin1202013.07.04浏览527次分享举报 用向前欧拉公式(10.8)求解初值问题,dy/dx=-3x+8x-7,y(0)=1,分 ...

  2. matlab 解方程组_一文读懂MATLAB微分方程

    此教程说明如何使用 MATLAB 构造几种不同类型的微分方程并求解.MATLAB 提供了多种数值算法来求解各种微分方程: 初始值问题 边界值问题 时滞微分方程 偏微分方程 初始值问题 vanderpo ...

  3. Matlab解五次以上方程,大侠帮忙,matlab解方程组 (5个方程,5个未知数)

    共回答了17个问题采纳率:82.4% A=solve('1/lambda_s+1/lambda_i-1/1064','n_p/1064-n_s/lambda_s-n_i/lambda_i-1/3150 ...

  4. matlab 解目标函数,对分法求解目标函数最优解函数MATLAB实现

    %%对分法求解目标函数最优解函数 function [t,y]=equation_extremum(x,~,a,b,epsional) %%============================== ...

  5. matlab中函数或变量无法识别怎么办_用MATLAB巧解微分方程实例分析

    点"考研竞赛数学"↑可每天"涨姿势"哦! MATLAB巧解微分方程实例分析 王少华 西安电子科技大学 微分方程求解难, 字母一堆看着烦. 写错数字一时爽, 一直 ...

  6. 最优控制问题matlab编程实例,第十二章用matlab解最优控制问题及应用实例.ppt

    第十二章用matlab解最优控制问题及应用实例 第十二章 用MATLAB解最优控制问题及应用实例 第十二章 用MATLAB解最优控制问题及应用实例 12.1 MATLAB工具简介 12.2 用MATL ...

  7. MATLAB阶段性方程组,[转载]matlab 解方程组

    1.解方程 最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=i ...

  8. matlab水汽计算公式,[转载]matlab 解方程组

    1.解方程 最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=i ...

  9. matlab解方程、方程组

    1.解方程.方程组 x^2-4=12,求x: syms x; f=x^2-4-12; solve(f) 最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对 ...

  10. matlab 解方程组

    1.解方程 最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=i ...

最新文章

  1. 稳定wow60级服务器,魔兽怀旧服:永久60级怀旧服是什么体验?
  2. php 欺骗提交,欺骗PHP整数
  3. PyCharm个性化设置及注意事项
  4. DevOps自动化工具集合
  5. JUC原子类-数组类型(三)
  6. Oracle 18c 新特性:动态 Container Map 增强 Application Container 灵活性
  7. java中的强制类型转换注意事项_浅谈Java中强制类型转换的问题
  8. linux传输文件命令scp,linux文件传输命令:SCP用法
  9. Android的Button监听
  10. java多线程测试性能,总线程使用总时间。
  11. java me手机版,一个经典的 JAVA ME 手机程序入门级源码
  12. Nature:人类癌细胞系转移图谱
  13. 经济学外文文献在哪查?
  14. IDEA这些既好用又好玩的三十多个宝贝插件你还不知道吗?
  15. 西电计算机科学与技术排名,西安电子科技大学王牌专业有哪些及专业排名
  16. 题目:L2-029 特立独行的幸福 (25 分)
  17. 如何提升原创文章排名与百度冰桶算法
  18. 在组策略中 计算机策略仅对,在组策略中,计算机策略仅对()生效。 - 问答库...
  19. 分享一款好用的Jetbrain插件-Jenkins Control
  20. 第6章第9节:幻灯片背景:使用纹理和图像作为幻灯片的背景 [PowerPoint精美幻灯片实战教程]

热门文章

  1. 大学生静态HTML网页源码 我的校园网页设计成品 学校班级网页制作模板 web课程设计 dreamweaver网页作业
  2. mysql创建/编辑表时的 ROW_FORMAT = Dynamic 和 Compact 有什么区别
  3. x86 单线并发多拨_OpenWrt ADSL单线多拨,负载均衡(仅供参考)
  4. 51单片机数码管显示学习笔记
  5. MYSQL中出现 ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction的问题解决
  6. MatplotlibDeprecationWarning: Calling gca() with keyword arguments was deprecated in Matplotlib 3.4.
  7. yolov3/yolov4/yolov5/yolov6/yolov7/lite/fastdet/efficientdet各系列模型开发、项目交付、组合改造创新之—桥梁基建隧道裂痕裂缝检测实战
  8. 关于“预习”的调查与思考( 云中逸客 )
  9. 快速截屏并保存图像 - 快速保存剪切板截图到图像-
  10. python颜色的数字代码_python – 更改QLCD数字的数字颜色