ZKX's LAB

用欧拉法 四阶的龙格库塔法C 程序

2020-07-16知识9
取h=0.2,用四阶经典的龙格一库塔方法求解下列初值问题; 数值求解,通俗来讲就是对一个难以得到解析解的方程,通过数学上的一些定理,在离散的点上得到具体的数值。结果必须是具体的数字,同时需要一定的边界条件。以dy/dx=y-2x/y,其中初始条件y(0)=1为例,通过MATLAB编程实现四阶龙格-库塔算法,并将结果与改进的欧拉算法进行对比。这种算法保持了四阶龙格-库塔法精度高的优点,而且数值积分程序计算量小,仿真速度较之一般实时四阶龙格-库塔法可提高约3.5位。扩展资料:注意事项:有更为有效的积分法,其局部误差是二阶或更高阶,如二阶龙格库塔法,只需要把x∧(t+dt):=x∧(t)+fx∧(t),u(t)·dt替换。注意在该表达式中,x∧Et+23dt可以理解为用欧拉法在时间t+23dt进行积分得到的值。方括号内是f(x(t),u(t))的估计值和fx∧t+23dt,ut+23dt的估计值的平均值。其局部误差et是二阶的,因此该积分法具有更好的精度。参考资料来源:百度百科-龙格库塔法 取h=0.2,用四阶经典的龙格一库塔方法求解下列初值问题; (1) (2) (1)因为y&39;x+y nbsp;利用四阶经典的龙格-库塔方法迭代公式为 nbsp;nbsp;nbsp;取x0=O,h=0.2, nbsp;则有 nbsp;y0=y(0)=1 nbsp;且f(x,y)=x+y,&... matlab实现欧拉法和RK-4方法的数值计算 一、计算方法: unction[x,y]=DEEuler(f,a,b,y0,n);f:一阶常微分方程的一般表达式的右端函数%a:自变量的取值下限%b:自变量的取值上限%y0:函数的初值%n:积分的步数 if nargin,n=50;end h=(b-a)/n;x(1)=a;y(1)=y0;for i=1:n x(i+1)=x(i)+h;y(i+1)=y(i)+h*feval(f,x(i),y(i));end format short 二、MATLAB的简单介绍: MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 数值分析计算方法求解 欧拉法的局部截断误差的阶为O(h2);改进欧拉法的局部截断误差的阶为 O(h3);三阶龙格-库塔法的局部截断误差的阶为 O(h4). 四阶龙格-库塔法的局部截断误差的阶为 O(h5). 欧拉法的绝对稳定实区域为-2 求数值分析大神解题? 有问题,上知乎。知乎,可信赖的问答社区,以让每个人高效获得可信赖的解答为使命。知乎凭借认真、专业和友善的社区氛围,结构化、易获得的优质内容,基于问答的内容生产... 分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题 分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题 分别用改进的欧拉法和四阶龙格-库塔公式求解微分方程初值问题(1)Y'=Y-2X/Y,Y(0)=1,X=[0,1],H=0.1(2)Y'=X2+... matlab实现欧拉法和RK-4方法的数值计算 matlab实现欧拉法和RK-4方法的数值计算 已知系统模型和初始条件如下:x''(t)=-x...要有全部程序,悬赏直接200,有的发邮件到434600846@qq.com,编译通过立即给分 程序已经写了,. 数值分析计算方法求解 欧拉法的局部截断误差的阶为O(h2);改进欧拉法的局部截断误差的阶为 O(h3);三阶龙格-库塔法的局部截断误差的阶为 O(h4)。四阶龙格-库塔法的局部截断误差的阶为 O(h5)。欧拉法的绝对稳定实区域为-2*h。二阶龙格-库塔法的绝对稳定实区域为-2*h。三阶龙格-库塔法的绝对稳定实区域为-2.51*h。四阶龙格-库塔法的绝对稳定实区域为-2.785*h。 分别用 欧拉法 和 四阶龙格-库塔法 解微分方程 f=inline('x*y','x','y');微分方程的右边项 dx=0.05;x方向步长 xleft=0;区域的左边界 xright=3;区域的右边界 xx=xleft:dx:xright;一系列离散的点 n=length(xx);... 工程数值方法的MATLAB程序编写 数值积分法是求定积分的近似值的数值方法。即用被积函数的有限个抽样值的离散或加权平均近似值代替定积分的值。求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解。对微积分学作出杰出贡献的数学大师,如I.牛顿、L.欧拉、C.F.高斯、拉格朗日等人都在数值积分这个领域作出了各自的贡献,并奠定了这个分支的理论基础。数值积分法也是计算机仿真中常用的一种方法。在已知函数的微分方程时,求解函数下一时刻的值,我们主要有欧拉法、梯形法和龙格库塔法。欧拉法,这些方法中精度最低的,程序相对简单。欧拉法的表达式可以写成下面的形式:我们用欧拉法近似替代则有: y'=f(t,y) 其中y’(k)函数y(x)在k时刻的导数,h为积分的步长(也可以说是采样周期)。欧拉法的主要思想是用当前时刻的值y(k)+当前时刻 y’(k)*h(积分步长)来近似替代y(k+1)时刻的值。这种方法主要的误差来源于,在h区间内y’(t)是变化的,而这里我们都用y(k)替代了。梯形法,是在欧拉法的基础上进行改进的算法,也称为改进的欧拉法。在用欧拉法求出y(k+...

#matlab函数#欧拉法#数值分析#龙格库塔法

随机阅读

qrcode
访问手机版