廊坊网站推广公司,wordpress设置导航栏,无锡住房和城乡建设部网站,最近十大新闻Leonhard Euler
1 微分方程
微分方程#xff0c;是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。 微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中都处理过与微分方程有关的问题。微分方程的应用十分广泛#xff0c;可… Leonhard Euler
1 微分方程
微分方程是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。 微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中都处理过与微分方程有关的问题。微分方程的应用十分广泛可以解决许多与导数有关的问题。物理中许多涉及变力的运动学、动力学问题如空气的阻力为速度函数的落体运动等问题很多可以用微分方程求解。此外微分方程在化学、工程学、经济学和人口统计等领域都有应用。 数学领域对微分方程的研究着重在几个不同的面向但大多数都是关心微分方程的解。只有少数简单的微分方程可以求得解析解。不过即使没有找到其解析解仍然可以确认其解的部分性质。在无法求得解析解时可以利用数值分析的方式利用电脑来找到其数值解。 动力系统理论强调对于微分方程系统的量化分析而许多数值方法可以计算微分方程的数值解且有一定的准确度。
2 预估-校正法
对于给定的带有初始条件y(x0)y0的微分方程dy/dxf(x, y)用预测-校正法求近似解。预估-校正法: 预估-校正法又称修正-欧拉法。 在欧拉方法中在一个点绘制切线并计算给定步长的斜率。 因此这种方法对于线性函数效果最好但是对于其他情况仍然存在截断误差。 为了解决这个问题引入了修正欧拉法。 3 源程序
using System; using System.Collections; using System.Collections.Generic;
namespace Legalsoft.Truffer.Algorithm { /// summary /// 给定微分方程的一阶偏导方程 /// /summary /// param namex/param /// param namey/param /// returns/returns public delegate double SDE_Equation(double x, double y); /// summary /// 求解微分方程的预测校正法或修正欧拉法 /// /summary public static partial class Algorithm_Gallery { public static SDE_Equation dydx null; private static double Predict(double x, double y, double h) { double y1p y h * dydx(x, y); return y1p; } private static double Correct(double x, double y, double x1, double y1, double h) { double e 0.00001; double y1c y1; do { y1 y1c; y1c y 0.5 * h * (dydx(x, y) dydx(x1, y1)); } while (Math.Abs(y1c - y1) e); return y1c; } public static double DE_Modified_Euler_Solve(double x, double xn, double y, double h) { while (x xn) { double x1 x h; double y1p Predict(x, y, h); double y1c Correct(x, y, x1, y1p, h); x x1; y y1c; } return y; } } } POWER BY TRUFFER.CN 4 源代码
using System;
using System.Collections;
using System.Collections.Generic;namespace Legalsoft.Truffer.Algorithm
{/// summary/// 给定微分方程的一阶偏导方程/// /summary/// param namex/param/// param namey/param/// returns/returnspublic delegate double SDE_Equation(double x, double y);/// summary/// 求解微分方程的预测校正法或修正欧拉法/// /summarypublic static partial class Algorithm_Gallery{public static SDE_Equation dydx null;private static double Predict(double x, double y, double h){double y1p y h * dydx(x, y);return y1p;}private static double Correct(double x, double y, double x1, double y1, double h){double e 0.00001;double y1c y1;do{y1 y1c;y1c y 0.5 * h * (dydx(x, y) dydx(x1, y1));}while (Math.Abs(y1c - y1) e);return y1c;}public static double DE_Modified_Euler_Solve(double x, double xn, double y, double h){while (x xn){double x1 x h;double y1p Predict(x, y, h);double y1c Correct(x, y, x1, y1p, h);x x1;y y1c;}return y;}}
}