常微分方程的差分方法-欧拉法

常微分方程的差分方法-欧拉法
常微分方程的差分方法-欧拉法

常微分方程的差分方法-欧拉法

一、摘要:人类社会已迈进电子计算机时代。在今天,熟练地

运用计算机进行科学计算,已成为广大科技工作者和学者的一项基

本技能,数值分析的基本内容是数值算法的设计与分析,科学技术

当中常常需要求解常微分方程的定解问题,本文中主要以解决此问

题最简单形式(一阶方程的初值问题)来求解微分方程。虽然求解

常微分方程有各种各样的解析方法,但解析方法只能用来求解一些

特殊类型的方程,求解从实际问题中归结出来的微分方程主要主要

靠数值解法,本文就数值解法中的差分方法进行求解微分方程。

二、关键词:差分方法、初值问题、数值解法、MATLAB

三、引言:科学计算不应当将计算方法片面的理解为各种算法

的简单罗列和堆积,它也是一门内容丰富、思想方法深刻而有着自

身理论体系的数学学科。微积分的发明是人类智慧的伟大发展。求

解常微分方程有各种各样的解析方法,但解析方法只能用来求解一

些特殊类型的方程,求解从实际问题中归结出来的微分方程主要主

要靠数值解法。怎样应用数值解法求解从实际问题中归结出来的微

分方程呢?

四、正文

y′=f x,y (1)

y(x0)=y0 (2)

方程(1)中含有导数项y′(x),这是微分方程的本质特征,也正

是它难以求解的症结所在。

数值解法的第一步就是设法消除其导数项,这项手续称离散化。由于差分是微分的近似运算,实现离散化的基本途径是用差商替代

导数。

譬如,若在点x n列出方程(1):

y′(x n)=f(x n,y(x n))

替代其中的导数项y′(x n),结果有:并用差商y x n+1?y(x n)

h

y(x n+1)≈y(x n)+hf(x n,y(x n))

设用y(x x)的近似值y n代入上式的右端,记所得结果为y n+1,这样导出的计算公式:

y(x n+1)=y(x n)+hf(x n,y(x n)),n=0,1,2, (3)

这就是众所周知的欧拉(Euler)格式。若初值y0是已知的,则据式(3)可以逐步算出数值解y1,y2,…。

为简化分析,人们常在y n为准确,即在y n=y(x n)的前提下估计

误差y(x n+1)-y n+1。这种误差称为局部截断误差。

称一种数值方法的精度是p阶的,如果其局部截断误差为O

(h p+1)。

对于欧拉格式(3),假定y n=y(x n),则据方程(1)有:

y n+1=y(x n)+hf(x n,y(x n))

=y(x n)+h y′(x n)

而按泰勒公式

y(x n+1)=y(x n)+h y′(x n)+h 2

2

y′′(ε), x n<ε

y(x n+1)-y n+1=h 2

2

y′′(ε) 这说明欧拉格式仅为一阶方法。

例求解初值问题

x′+5x+y=e′

y′?x?3y=0

x t=0,y t=0解:用MATLAB写出如下程序:

% By lyqmath

function main()

clc;

clear all;

close all;

% 3??μ

t0 = 0;

y0 = [0; 0];

xmax = 1;

h = 0.01;

% ????

n = (xmax - t0)/h; for i = 1 :n+1 if i == 1 t(i) = t0; y(:, i) = y0; else

t(i) = t0 + (i - 1)*h;

y(:, i) = y(:, i - 1) + h*test_fun(t(i-1), y(:, i-1)); end end % ??í? figure; hold on ; box on ;

plot(t, y(1, :), 'r-', t, y(2, :), 'g-'); grid on ;

legend('x', 'y');

xlabel('t', 'FontWeight', 'Bold', 'Color', 'r'); ylabel('data', 'FontWeight', 'Bold', 'Color', 'r');

title('Euler·¨?????¢·?·?3ì×é By lyqmath', 'FontWeight', 'Bold', 'Color', 'r'); % ?¢·?·?3ì

function fxy = test_fun(t,y) fxy = zeros(2, 1)

fxy(1) = exp(t) - 5*y(1) - y(2); fxy(2) = y(1) + 3*y(2);

当h=0.01时,得出以下图像:

当h=0. 1时,得到以下图像:

0.1

0.2

0.3

0.4

0.50.6

0.7

0.8

0.9

1

00.10.20.30.40.50.6

0.70.80.91t

d a t a

Euler 法计算微分方程组 By lyqmath

取其中一部分

0.10.20.30.4

0.50.60.70.80.91

00.10.20.30.4

0.5

0.6

0.7

t

d a t a

Euler 法计算微分方程组 By lyqmath

0.08

0.0850.090.0950.1

0.1050.110.1150.12

t

d a t a

Euler 法计算微分方程组 By lyqmath

由上h=0.001和h=0.1所得的图像,可看出精度h越精,图像拟合的越好,拟合度越高,效果越佳。

五、结束语

虽然求解常微分方程有各种各样的解析方法,但解析方法只能用来求解一些特殊类型的方程。求解从实际问题当中归结出来的微分方程主要靠数值解法。欧拉方法是一类重要的数值解法。这类方法回避解y(x)的函数表达式,而是寻求它在一系列离散节点上的近似值,相邻的两个节点的间距称作步长。假定步长为定数。欧拉方法是一类离散化方法,这类方法将寻求解y(x)的分析问题转化为计算离散值值的代数问题,从而使问题获得了实质性的简化。然而随之带来的困难是,由于数据量往往很大,差分方法所归结出的可能是个大规模的代数方程组。

初值问题

《计算机数学基础(2)》辅导六 第14章常微分方程的数值解法 一、重点内容 1.欧拉公式: (k=0,1,2,…,n-1) 局部截断误差是O(h2)。 2. 改进欧拉公式: 或表示成: 平均形式: 局部截断误差是O(h3)。 3. 四阶龙格――库塔法公式: 其中κ1=f(x k,y k);κ2=f(x k+ 0.5h,y k+ 0.5 hκ1);κ3=f(x k+ 0.5 h,y k+ 0.5 hκ2); κ4=f(x k+h,y k+hκ3) 局部截断误差是O(h5)。

二、实例 例1用欧拉法解初值问题 取步长h=0.2。计算过程保留4位小数。 解h=0.2,f(x,y)=-y-xy2。首先建立欧拉迭代格式 =0.2y k(4-x k y k) (k=0,1,2) 当k=0,x1=0.2时,已知x0=0,y0=1,有 y(0.2)≈y1=0.2×1(4-0×1)=0.8 当k=1,x2=0.4时,已知x1=0.2,y1=0.8,有 y(0.4)≈y2=0.2×0.8×(4-0.2×0.8)=0.6144 当k=2,x3=0.6时,已知x2=0.4,y2=0.6144,有 y(0.6)≈y3=0.2×0.6144×(4-0.4×0.6144)=0.4613 例2 用欧拉预报-校正公式求解初值问题 取步长h=0.2,计算y(1.2),y(1.4)的近似值,小数点后至少保留5位。 解步长h=0.2,此时f(x,y)=-y-y2sin x 欧拉预报-校正公式为: 有迭代格式:

当k=0,x0=1,y0=1时,x1=1.2,有 =y0(0.8-0.2y0sin x0)=1×(0.8-0.2×1sin1)=0.63171 y(1.2)≈y1 =1×(0.9-0.1×1×sin1)-0.1(0.63171+0.631712sin1.2)=0.71549 当k=1,x1=1.2,y1=0.71549时,x2=1.4,有 =y1(0.8-0.2y1sin x1)=0.71549×(0.8-0.2×0.71549sin1.2) =0.47697 y(1.4)≈y2 =0.71549×(0.9-0.1×0.71549×sin1.2) -0.1(0.47697+0.476972sin1.4) =0.52611 例3写出用四阶龙格――库塔法求解初值问题 的计算公式,取步长h=0.2计算y(0.4)的近似值。至少保留四位小数。 解此处f(x,y)=8-3y,四阶龙格――库塔法公式为 其中κ1=f(x k,y k);κ2=f(x k+ 0.5h,y k+ 0.5 hκ1);κ3=f(x k+ 0.5 h,y k+ 0.5 hκ2);

常微分方程作业欧拉法与改进欧拉法

P77 31.利用改进欧拉方法计算下列初值问题,并画出近似解的草图:dy + =t = t y y ≤ ≤ ,2 ;5.0 0,3 )0( )1(= ,1 ? dt 代码: %改进欧拉法 function Euler(t0,y0,inv,h) n=round(inv(2)-inv(1))/h; t(1)=t0; y(1)=y0; for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i)); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i))+ fun(t(i+1),y1(i+1))) end plot(t,y,'*r') function y=fun(t,y); y=y+1; 调用:Euler(0,3,[0,2],0.5) 得到解析解:hold on; y=dsolve('Dy=y+1','(y(0)=3)','t'); ezplot(y,[0,2]) 图像:

dy y =t - t y ;2.0 t = ≤ )0( 0,5.0 ,4 )2(2= ≤ ? ,2 dt 代码: function Euler1(t0,y0,inv,h) n=round(inv(2)-inv(1))/h; t(1)=t0; y(1)=y0; for i=1:n y1(i+1)=y(i)+h*fun(t(i),y(i)); t(i+1)=t(i)+h; y(i+1)=y(i)+1/2*h*(fun(t(i),y(i))+ fun(t(i+1),y1(i+1))) end plot(t,y,'*r') function y=fun(t,y); y=y^2-4*t; 调用: Euler1(0,0.5,[0,2],0.2) 图像:

常微分方程和偏微分方程的数值解法教学大纲

上海交通大学致远学院 《常微分方程和偏微分方程的数值解法》教学大纲 一、课程基本信息 课程名称(中文):常微分方程和偏微分方程的数值解法 课程名称(英文):Numerical Methods for Ordinary and Partial Differential Equations 课程代码:MA300 学分 / 学时:4学分 / 68学时 适用专业:致远学院与数学系相关专业 先修课程:偏微分方程,数值分析 后续课程:相关课程 开课单位:理学院数学系计算与运筹教研室 Office hours: 每周二19:00—21:00,地点:数学楼1204 二、课程性质和任务 本课程是致远学院和数学系应用数学和计算数学方向的一门重要专业基础课程,其主要任务是通过数学建模、算法设计、理论分析和上机实算“四位一体”的教学方法,使学生掌握常微分方程与偏微分方程数值解的基本方法、基本原理和基本理论,进一步提升同学们利用计算机解决实际问题的能力。在常微分方程部分,将着重介绍常微分方程初值问题的单步法,含各类Euler方法和Runge-Kutta方法,以及线性多步法。将简介常微分方程组和高阶常微分方程的数值方法。在偏微分方程部分,将系统介绍求解椭圆、双曲、抛物型方程的差分方法的构造方法和理论分析技巧,对于椭圆型方程的边值问题将介绍相应变分原理与有限元方法。将在课堂上实时演示讲授的核心算法的计算效果,以强调其直观效果与应用性。本课程重视实践环节建设,学生要做一定数量的大作业。 三、教学内容和基本要求 第一部分:常微分方程数值解法 1 引论 1.1回顾:一阶常微分方程初值问题及解的存在唯一性定理

欧拉及改进的欧拉法求解常微分方程

生物信息技术0801 徐聪U200812594 #include #include void f1(double *y,double *x,double *yy) { y[0]=2.0; x[0]=0.0; yy[0]=2.0; for(int i=1;i<=9;i++) { x[i]=x[i-1]+0.2; y[i]=y[i-1]+0.2*(y[i-1]-x[i-1]); yy[i]=x[i]+1+exp(x[i]); printf("若x=%f,计算值是%f,真实值是%f,截断误差是%f\n ",x[i],y[i],yy[i],y[i]-yy[i]); } }; void f2(double *y,double *x,double *yy) { y[0]=1.0; x[0]=0.0; yy[0]=1.0; for(int i=1;i<=9;i++) { x[i]=x[i-1]+0.2; y[i]=y[i-1]+0.2*(2*y[i-1]+x[i-1]*x[i-1]); yy[i]=-0.5*(x[i]*x[i]+x[i]+0.5)+1.25*exp(2*x[i]); printf("若x=%f,计算值是%f,真实值是%f,截断误差是%f\n ",x[i],y[i],yy[i],y[i]-yy[i]); } }; void f3(double *y,double *x,double *yy,double *y0) { y[0]=2.0; x[0]=0.0; yy[0]=2.0; for(int i=1;i<=9;i++) { x[i]=x[i-1]+0.2; y0[i]=y[i-1]+0.2*(y[i-1]-x[i-1]); y[i]=y[i-1]+0.1*(y[i-1]-x[i-1]+y0[i-1]-x[i-1]);

常微分方程的初等解法与求解技巧

师大学本科毕业论文(设计) 常微分方程的初等解法与求解技巧 姓名娟 院系数学与计算机科学学院 专业信息与计算科学 班级12510201 学号1251020126 指导教师王晓锋 答辩日期 成绩

常微分方程的初等解法与求解技巧 容摘要 常微分方程在数学中发挥着举足轻重的作用,同时它的应用在日常生活里随处可见,因此掌握常微分方程的初等解法与求解技巧是非常必要的.本论文主要论述了其发展、初等解法与求解技巧,前者主要有变量分离、积分因子、一阶隐式微分方程的参数表示,通过举例从中总结出其求解技巧,目的是掌握其求解技巧. 【关键词】变量分离一阶隐式微分方程积分因子求解技巧

Elementary Solution and Solving Skills of Ordinary Differential Equation Abstract Ordinary differential equations take up significant position in mathematics, and at the same time, the application of it can be seen everywhere in our daily life, therefore, it’s necessary to grasp the elementary solution of ordinary differential equations and solving skills. This paper mainly introduced the definition of ordinary differential equations, elementary solution method and solving skills, the former mainly included the separation of variables, integral factor, a parameter-order differential equations implicit representation, by way of examples to sum up their solving skills, the purpose is to master the skills to solve. 【Key Words】the separation of variables the first order implicit differential equation integrating factor solution techniques

欧拉公式推导

欧拉公式推导: 图4.3所示的两端铰支杆件,受轴向压力N 作用而处于中性平衡微弯状态,杆件弯曲后截面中产生了弯矩M 和剪力V ,在轴线任意点上由弯矩产生的横向变形为1y ,由剪力产生的横向变形为2y ,总变形21y y y +=。 y 图4.3 两端铰支的轴心压杆临界状态 设杆件发生弯曲屈曲时截面的临界应力小于材料比例极限p f ,即p f ≤σ(对理想材料取y p f f =)。由材料力学可得: EI M dz y d -=2 12 由剪力V 产生的轴线转角为: dz dM GA V GA dz dy ?=?==ββγ2 式中 A 、I ——杆件截面面积、惯性矩; E 、G ——材料的弹性模量、剪切模量; β—— 与截面形状有关的系数。 因为 222 22dz M d GA dz y d ?=β 所以 2222122222d y d y d y M d M dz dz dz EI GA dz β=+=-+? 由 y N M ?=得: 2222dz y d GA N y EI N dz y d ?+?-=β

01=?+??? ??-''y EI N GA N y β 令 ??? ??-=GA N EI N k β12 得常系数线性二阶齐次方程 20y k y ''+= 其通解为:sin cos y A kz B kz =+ 由边界条件:;0,0==y z 0=B ,kz A y sin =。再由0,==y l z 得: 0sin =kl A 上式成立的条件是0=A 或0sin =kl ,其中0=A 表示杆件不出现任何变形,与杆件微弯的假设不符。由0sin =kl ,得πn kl =(=n 1,2,3…),取最小值=n 1,得π=kl ,即 2 221N k N l EI GA πβ==??- ??? 由此式解出N ,即为中性平衡的临界力cr N 12222222211Ι11γππβππ?+?=?+?=l ΕΙl ΕGA l ΕΙl ΕΙ N cr (4.6) 临界状态时杆件截面的平均应力称为临界应力cr σ 12 22211γλπλπσ?+?==ΕΑΕA N cr cr (4.7) 式中 1γ——单位剪力时杆件的轴线转角,)/(1GA βγ=; l ——两端铰支杆得长度; λ——杆件的长细比,i l /=λ; i ——杆件截面对应于屈曲轴的回转半径,A I i /=。 如果忽略杆件剪切变形的影响(此影响很小)则式(4.6)、(4.7)变为: 22cr E πσλ = (4.8)

数值计算方法复习题9

习题九 1. 取步长h = 0.1,分别用欧拉法与改进的欧拉法解下列初值问题 (1);(2) 准确解:(1);(2); 欧拉法:,,, 改进的欧拉法:,,, 2. 用四阶标准龙格—库塔法解第1题中的初值问题,比较各法解的精度。,,, 3. 用欧拉法计算下列积分在点处的近似值。 0.5000,1.1420,2.5011,7.2450 4. 求下列差分格式局部截断误差的首项,并指出其阶数。 (1),2 (2),3; (3),4 (4),4 5.用Euler法解初值问题取步长h=0.1,计算到x=0.3(保留到小数点后4位).

解: 直接将Eulerr法应用于本题,得到 由于,直接代入计算,得到 6.用改进Euler法和梯形法解初值问题取步长 h=0.1,计算到x=0.5,并与准确解相比较. 解:用改进Euler法求解公式,得 计算结果见下表 用梯形法求解公式,得 解得 精确解为 7.证明中点公式(7.3.9)是二阶的,并求其局部截断误差主项. 证明根据局部截断误差定义,得 将右端Taylor展开,得

故方法是二阶的,且局部截断误差主项是上式右端含h3的项。 8.用四阶R-K方法求解初值问题取步长 h=0.2. 解直接用四阶R-K方法 其中 计算结果如表所示: 9.对于初值问题 解因f'(y)=-100,故由绝对稳定区间要求(1)用Euler法解时, (2)用梯形法解时,绝对稳定区间为,由因f 对y是线性的,故不用迭代,对h仍无限制。(3)用四阶R-K方法时, 10. (1) 用Euler法求解,步长h应取在什么范围内计算才稳定?(2) 若用梯形法求解,对步长h有无限制? (3) 若用四阶R-K方法求解,步长h如何选取?

常微分方程解题方法总结.docx

常微分方程解题方法总结 来源:文都教育 复习过半,课本上的知识点相信大部分考生已经学习过一遍 . 接下来,如何将零散的知识点有机地结合起来,而不容易遗忘是大多数考生面临的问题 . 为了加强记忆,使知识自成体系,建议将知识点进行分类系统总结 . 著名数学家华罗庚的读书方法值得借鉴,他强调读 书要 “由薄到厚、由厚到薄 ”,对同学们的复习尤为重要 . 以常微分方程为例, 本部分内容涉及可分离变量、 一阶齐次、 一阶非齐次、 全微分方程、 高阶线性微分方程等内容, 在看完这部分内容会发现要掌握的解题方法太多, 遇到具体的题 目不知该如何下手, 这种情况往往是因为没有很好地总结和归纳解题方法 . 下面以表格的形 式将常微分方程中的解题方法加以总结,一目了然,便于记忆和查询 . 常微分方程 通解公式或解法 ( 名称、形式 ) 当 g( y) 0 时,得到 dy f (x)dx , g( y) 可分离变量的方程 dy f ( x) g( y) 两边积分即可得到结果; dx 当 g( 0 ) 0 时,则 y( x) 0 也是方程的 解 . 解法:令 u y xdu udx ,代入 ,则 dy 齐次微分方程 dy g( y ) x dx x u g (u) 化为可分离变量方程 得到 x du dx 一 阶 线 性 微 分 方 程 dy P ( x)dx P ( x) dx Q(x) y ( e Q( x)dx C )e P( x) y dx

伯努利方程解法:令 dy P( x) y Q( x) y n(n≠0,1) 代入得到dx —u y1 n,有 du(1 n) y n dy , du(1 n) P(x)u(1 n)Q(x) dx 求解特征方程: 2pq 0三种情况: 二阶常系数齐次线性微分方程 y p x y q x y0 二阶常系数非齐次线性微分方程y p x y q x y f ( x) (1)两个不等实根: 1 ,2 通解: y c1 e 1x c2 e 2x (2)两个相等实根:12 通解: y c1c2 x e x (3)一对共轭复根:i , 通解: y e x c1 cos x c2 sin x 通解为y p x y q x y 0 的通解与 y p x y q x y f ( x) 的特解之和. 常见的 f (x) 有两种情况: x ( 1)f ( x)e P m ( x) 若不是特征方程的根,令特解y Q m ( x)e x;若是特征方程的单根,令特 解 y xQ m ( x)e x;若是特征方程的重根, 令特解 y*x2Q m (x)e x; (2)f (x) e x[ P m ( x) cos x p n ( x)sin x] 当i不是特征值时,令 欢迎下载2

欧拉公式的证明(整理)Word版

欧拉公式的证明 著名的欧拉公式e^(iθ)=cosθ+isinθ是人们公认的优美公式。原因是指数函数和三角函数在实数域中几乎没有什么联系,而在复数域中却发现了他们可以相互转化,并被一个非常简单的关系式联系在一起。特别是当θ=π时,欧拉公式便写成了e^(iπ)+1=0,就这个等式将数中最富有特色的五个数0,1,i , e , π ,绝妙地联系在一起 方法一:用幂级数展开形式证明,但这只是形式证明(严格的说,在实函数域带着i只是形式上的) 再抄一遍:设z = x+iy 这样 e^z = e^(x+iy)=e^x*e^(iy),就是e^z/e^x = e^(iy) 用牛顿幂级数展开式 e^x = 1+x+x^2/2!+x^3/3!+.....+x^n/n!+...... 把 e^(iy) 展开,就得到 e^z/e^x = e^(iy) =1+iy-y^2/2!-iy^3/3!+y^4/4!+iy^5/5!-y^6/6!-..... =(1-y^2/2!+y^4/4!-y^6/6!+.....) +i(y-y^3/3!+y^5/5!-....) 由于 cosy = 1-y^2/2!+y^4/4!-y^6/6!+....., siny = y-y^3/3!+y^5/5!-.... 所以 e^(x+iy)=e^x*e^(iy)=e^x*(cosy+isiny) 即 e^(iy) = (cosy+isiny) 方法二:见复变函数第2章,在整个负数域内重新定义了sinz cosz而后根据关系推导出了欧拉公式。着个才是根基。由来缘于此。 方法一是不严格的。 再请看这2个积分 ∫sqrt(x^2-1)dx=x*sqrt(x^2-1)/2-ln(2*sqrt(x^2-1)+2x)/2 ∫sqrt(1-x^2)dx=arcsin(x)/2+x*sqrt(1-x^2)/2; 上式左边相当于下式左边乘以i 于是上式右边相当于下式右边乘以i 然后化简就得到欧拉公式 这个证明方法不太严密 但很有启发性 历史上先是有人用上述方法得到了对数函数和反三角函数的关系 然后被欧拉看到了,才得到了欧拉公式 设a t θ ?R,ρ?R+,a^(it)?z有: a^(it)=ρ(cosθ+isinθ) 1 因共轭解适合方程,用-i替换i有: a^(-it)=ρ(cosθ-isinθ) 2

(整理)常微分方程(含解答)

第八章 常微分方程 【教学要求】 一、了解微分方程的基本概念:微分方程,微分方程的阶、解、特解、通解、初始条件和初值问题,线性微分方程。 二、熟练掌握一阶可分离变量微分方程的解法。 三、熟练掌握一阶线性非齐次微分方程)()(x q y x p y =+' 的解法——常数变易法和公式法。 四、理解线性微分方程解的性质和解的结构。 五、熟练掌握二阶线性常系数齐次微分方程0=+'+''qy y p y 的解法——特征根法。 会根据特征根的三种情况,熟练地写出方程的通解,并根据定解的条件写出方程特解。 六、熟练掌握二阶线性常系数非齐次微分方程qy y p y +'+'' )(x f =,当自由项f (x )为某些特殊情况时的解法——待定系数法。 所谓f (x )为某些特殊情况是指f (x )为多项式函数,指数函数 或它们的和或乘积形式、三角函数x x x ββαsin cos ,e 。 关键是依据f (x )的形式及特征根的情况,设出特解y *,代入原方程,定出y *的系数。 【教学重点】 一阶可分离变量微分方程、一阶线性微分方程、二阶线性常系数微分方程的解法。 【典型例题】 。的阶数是微分方程例)(e )(12x y y y =-'+'' 2.1.B A 4. 3.D C 解:B 。的特解形式是微分方程例)( e 232x x y y y +=+'-'' x x x b ax B b ax A e )(.e ).(++ x x c b ax D cx b ax C e ).(e ).(++++ 解:C 是一阶线性微分方程。下列方程中例)( ,3 x x y y x B y A y x cos sin 1.e .2=+'='+ y x y D y y x y C ='=+'+''.0 . 解:B ???=='++1)1(0)1(4y y x y y 求解初值问题例 ??-=+x x y y y d )1(d 解:由变量可分离法得 c x y y ln ln 1ln +-=+∴ 代入上式得通解为由21ln ln 1)1(=?=c y x y y 211=+ 的特解。满足求解微分方程例1)0(e 252==-'y x y y x 解:由公式法得 ]d e e 2[e d 12d 1c x x y x x x +???=---?

计算方法及答案汇总

《计算方法》练习题一 一、填空题 1. 14159.3=π的近似值3.1428,准确数位是( )。 2.满足d b f c a f ==)(,)(的插值余项=)(x R ( )。 3.设)}({x P k 为勒让德多项式,则=))(),((22x P x P ( )。 4.乘幂法是求实方阵( )特征值与特征向量的迭代法。 5.欧拉法的绝对稳定实区间是( )。 6. 71828.2=e 具有3位有效数字的近似值是( )。 7.用辛卜生公式计算积分 ?≈+1 01x dx ( ) 。 8.设)()1()1(--=k ij k a A 第k 列主元为) 1(-k pk a ,则=-)1(k pk a ( )。 9.已知?? ? ? ??=2415A ,则=1A ( )。 10.已知迭代法:),1,0(),(1 ==+n x x n n ? 收敛,则)(x ?'满足条件( )。 二、单选题 1.已知近似数,,b a 的误差限)(),(b a εε,则=)(ab ε( )。 A .)()(b a εε B.)()(b a εε+ C.)()(b b a a εε+ D.)()(a b b a εε+ 2.设x x x f +=2 )(,则=]3,2,1[f ( )。 A.1 B.2 C.3 D.4 3.设A=?? ? ? ??3113,则化A为对角阵的平面旋转=θ( ). A. 2π B.3π C.4π D.6 π 4.若双点弦法收敛,则双点弦法具有( )敛速. A.线性 B.超线性 C.平方 D.三次 5.改进欧拉法的局部截断误差阶是( ). A .)(h o B.)(2h o C.)(3h o D.)(4 h o 6.近似数2 1047820.0?=a 的误差限是( )。 A. 51021-? B.41021-? C.31021-? D.2102 1 -? 7.矩阵A满足( ),则存在三角分解A=LR 。 A .0det ≠A B. )1(0det n k A k <≤≠ C.0det >A D.0det

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法. 2.龙格-库塔法。 3.单步法的收敛性与稳定性。 重点、难点 一、微分方程的数值解法 在工程技术或自然科学中,我们会遇到的许多微分方程的问题,而我们只能对其中具有较简单形式的微分方程才能够求出它们的精确解。对于大量的微分方程问题我们需要考虑求它们的满足一定精度要求的近似解的方法,称为微分方程的数值解法。本章我们主要 讨论常微分方程初值问题?????==00 )() ,(y x y y x f dx dy 的数值解法。 数值解法的基本思想是:在常微分方程初值问题解的存在区间[a,b]内,取n+1个节点a=x 0<x 1<…<x N =b (其中差h n = x n –x n-1称为步长,一般取h 为常数,即等步长),在这些节点上把常微分方程的初值问题离散化为差分方程的相应问题,再求出这些点的上的差分方程值作为相应的微分方程的近似值(满足精度要求)。 二、欧拉法与改进欧拉法 欧拉法与改进欧拉法是用数值积分方法对微分方程进行离散化的一种方法。 将常微分方程),(y x f y ='变为() *+=?++1 1))(,()()(n x n x n n dt t y t f x y x y 1.欧拉法(欧拉折线法) 欧拉法是求解常微分方程初值问题的一种最简单的数值解法。 欧拉法的基本思想:用左矩阵公式计算(*)式右端积分,则得欧拉法的计算公式为:N a b h N n y x hf y y n n n n -= -=+=+)1,...,1,0(),(1 欧拉法局部截断误差 11121 )(2 ++++≤≤''=n n n n n x x y h R ξξ或简记为O (h 2)。

常微分方程边值问题的数值解法

第8章 常微分方程边值问题的数值解法 引 言 第7章介绍了求解常微分方程初值问题的常用的数值方法;本章将介绍常微分方程的边值问题的数值方法。 只含边界条件(boundary-value condition)作为定解条件的常微分方程求解问题称为常微分方程的边值问题(boundary-value problem). 为简明起见,我们以二阶边值问题为 则边值问题(8.1.1)有唯一解。 推论 若线性边值问题 ()()()()()(),, (),()y x p x y x q x y x f x a x b y a y b αβ'''=++≤≤?? ==? (8.1.2) 满足 (1) (),()p x q x 和()f x 在[,]a b 上连续; (2) 在[,]a b 上, ()0q x >, 则边值问题(8.1.1)有唯一解。 求边值问题的近似解,有三类基本方法: (1) 差分法(difference method),也就是用差商代替微分方程及边界条件中的导数,最终化为代数方程求解; (2) 有限元法(finite element method);

(3) 把边值问题转化为初值问题,然后用求初值问题的方法求解。 差分法 8.2.1 一类特殊类型二阶线性常微分方程的边值问题的差分法 设二阶线性常微分方程的边值问题为 (8.2.1)(8.2.2) ()()()(),,(),(), y x q x y x f x a x b y a y b αβ''-=<

欧拉公式的证明和应用

数学文化课程报告 欧拉公式的证明与应用 一.序言------------------------------------------------------------------------2 二.欧拉公式的证明--------------------------------------3 极限法 --------------------------------------3 指数函数定义法-------------------------------4 分离变量积分法-------------------------------4 复数幂级数展开法-----------------------------4 变上限积分法---------------------------------5 类比求导法-----------------------------------7 三.欧拉公式的应用 求高阶导数-----------------------------------7 积分计算------------------------------------8 高阶线性齐次微分方程的通解------------------9 求函数级数展开式----------------------------9 三角级数求和函数----------------------------10 傅里叶级数的复数形式-------------------------10 四.结语------------------------------------------------11 参考文献-----------------------------------------------11 一.序言

MATLAB求解常微分方程数值解

利用MATLAB求解常微分方程数值解

目录 1. 内容简介 (1) 2. Euler Method(欧拉法)求解 (1) 2.1. 显式Euler法和隐式Euler法 (2) 2.2. 梯形公式和改进Euler法 (3) 2.3. Euler法实用性 (4) 3. Runge-Kutta Method(龙格库塔法)求解 (5) 3.1. Runge-Kutta基本原理 (5) 3.2. MATLAB中使用Runge-Kutta法的函数 (7) 4. 使用MATLAB求解常微分方程 (7) 4.1. 使用ode45函数求解非刚性常微分方程 (8) 4.2. 刚性常微分方程 (9) 5. 总结 (9) 参考文献 (11) 附录 (12) 1. 显式Euler法数值求解 (12) 2. 改进Euler法数值求解 (12) 3. 四阶四级Runge-Kutta法数值求解 (13) 4.使用ode45求解 (14)

1.内容简介 把《高等工程数学》看了一遍,增加对数学内容的了解,对其中数值解法比较感兴趣,这大概是因为在其它各方面的学习和研究中经常会遇到数值解法的问题。理解模型然后列出微分方程,却对着方程无从下手,无法得出精确结果实在是让人难受的一件事情。 实际问题中更多遇到的是利用数值法求解偏微分方程问题,但考虑到先从常微分方程下手更为简单有效率,所以本文只研究常微分方程的数值解法。把一个工程实际问题弄出精确结果远比弄清楚各种细枝末节更有意思,因此文章中不追求非常严格地证明,而是偏向如何利用工具实际求解出常微分方程的数值解,力求将课程上所学的知识真正地运用到实际方程的求解中去,在以后遇到微分方程的时候能够熟练运用MATLAB得到能够在工程上运用的结果。 文中求解过程中用到MATLAB进行数值求解,主要目的是弄清楚各个函数本质上是如何对常微分方程进行求解的,对各种方法进行MATLAB编程求解,并将求得的数值解与精确解对比,其中源程序在附录中。最后考察MATLAB中各个函数的适用范围,当遇到实际工程问题时能够正确地得到问题的数值解。 2.Euler Method(欧拉法)求解 Euler法求解常微分方程主要包括3种形式,即显式Euler法、隐式Euler法、梯形公式法,本节内容分别介绍这3种方法的具体内容,并在最后对3种方法精度进行对比,讨论Euler法的实用性。 本节考虑实际初值问题 使用解析法,对方程两边同乘以得到下式

欧拉公式的证明

欧拉公式的证明 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

欧拉公式的证明 着名的欧拉公式e^(iθ)=cosθ+isinθ是人们公认的优美公式。原因是指数函数和三角函数在实数域中几乎没有什么联系,而在复数域中却发现了他们可以相互转化,并被一个非常简单的关系式联系在一起。特别是当θ=π时,欧拉公式便写成了e^(iπ)+1=0,就这个等式将数中最富有特色的五个数0,1,i , e , π ,绝妙地联系在一起 方法一:用幂级数展开形式证明,但这只是形式证明(严格的说,在实函数域带着i只是形式上的) 再抄一遍:??? 设z = x+iy 这样 e^z = e^(x+iy)=e^x*e^(iy),就是 e^z/e^x = e^(iy) 用牛顿幂级数展开式 e^x = 1+x+x^2/2!+x^3/3!+.....+x^n/n!+...... 把 e^(iy) 展开,就得到 e^z/e^x = e^(iy) =1+iy-y^2/2!-iy^3/3!+y^4/4!+iy^5/5!-y^6/6!-..... =(1-y^2/2!+y^4/4!-y^6/6!+.....) +i(y-y^3/3!+y^5/5!-....) 由于 cosy = 1-y^2/2!+y^4/4!-y^6/6!+.....,

siny = y-y^3/3!+y^5/5!-.... 所以 e^(x+iy)=e^x*e^(iy)=e^x*(cosy+isiny) 即 e^(iy) = (cosy+isiny) 方法二:见复变函数第2章,在整个负数域内重新定义了sinz cosz而后根据关系推导出了欧拉公式。着个才是根基。由来缘于此。 方法一是不严格的。 再请看这2个积分 ∫sqrt(x^2-1)dx=x*sqrt(x^2-1)/2-ln(2*sqrt(x^2-1)+2x)/2 ∫sqrt(1-x^2)dx=arcsin(x)/2+x*sqrt(1-x^2)/2; 上式左边相当于下式左边乘以i 于是上式右边相当于下式右边乘以i 然后化简就得到欧拉公式 这个证明方法不太严密 但很有启发性 历史上先是有人用上述方法得到了对数函数和反三角函数的关系 然后被欧拉看到了,才得到了欧拉公式 设a t θ ?R,ρ?R+,a^(it)?z有:

证明隐式Euler方法稳定性

第六章数值积分 6.1数值积分基本概念 6.1.1引言 在区间上求定积分 (6.1.1) 是一个具有广泛应用的古典问题,从理论上讲,计算定积分可用Newton-Leibniz公式 (6.1.2) 其中F(x)是被积函数f(x)的原函数.但实际上有很多被积函数找不到用解析式子表达的原函数,例如等等,表面看它们并不复杂, 但却无法求得F(x).此外,有的积分即使能找到F(x)表达式,但式子非常复杂,计算也很困难.还有的被积函数是列表函数,也无法用(6.1.2)的公式计算.而数值积分则只需计算f(x) 在节点xi(i=0,1,…,n)上的值,计算方便且适合于在计算机上机械地实现. 本章将介绍常用的数值积分公式及其误差估计、求积公式的代数精确度、收敛性和稳定性以及Romberg求积法与外推原理等. 6.1.2插值求积公式 根据定积分定义,对及都有 (极限存在)若不取极限,则积分I(f)可近似表示为 (6.1.3) 这里称为求积节点,与f无关,称为求积系数,(6.1.3)称为机械求积公式. 为了得到形如(6.1.3)的求积公式,可在上用Lagrange插值多项式 ,则得

其中 (6.1.4) 这里求积系数由插值基函数积分得到,它与f(x)无关.如果求积公式(6.1.3)中的系数由(6.1.4)给出,则称(6.1.3)为插值求积公式.此时可由插值余项得到 (6.1.5) 这里ξ∈,(6.1.5)称为插值求积公式余项. 当n=1时,,此时 由(6.1.4)可得 于是 (6.1.6) 称为梯形公式.从几何上看它是梯形A bB(见图6-1)的面积近似曲线y=f(x)下的曲边梯形面积,公式(6.1.6)的余项为 (6.1.7)

fortran下欧拉法求解常微分方程(实例)

1. Euler 公式 100(,)() i i i i y y hf x y y y x +=+??=? 实例: ,00(,),0,1,01f x y x y x y x =-==≤≤ 精确解为:1x y x e -=+- 程序代码: DIMENSION x(0:20),y(0:20),z(0:20),k(0:21) DOUBLE PRECISION x,y,z,k,h,x0,y0,z0,k0,n f(x,y)=x-y n=20 h=1/n x(0)=0 y(0)=0 DO i=0,n-1 y(i+1)=y(i)+f(x(i),y(i))*h x(i+1)=x(i)+h ENDDO k(0)=0 DO i=0,n z(i)=k(i)+exp(-k(i))-1 k(i+1)=k(i)+h END DO open(10,file='1.txt') WRITE(10,10) (x(i),y(i),z(i),i=0,20) WRITE(*,10) (x(i),y(i),z(i),i=0,20) 10 FORMAT(1x,f10.8,2x,f10.8,2x,f10.8/) END 输出结果: 0.00000000 0.00000000 0.00000000 0.05000000 0.00000000 0.00122942 0.10000000 0.00250000 0.00483742 0.15000000 0.00737500 0.01070798 0.20000000 0.01450625 0.01873075 0.25000000 0.02378094 0.02880078 ???=='00)(),(y x y y x f y ???=='0 0)(),(y x y y x f y

常微分方程欧拉算法

常微分方程欧拉算法 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

常微分方程欧拉算法 摘要:本文主要论述了常微分方程的欧拉算法的算法原理,误差分析,实例,程序,以及算法比较等内容。 关键词:常微分方程 显式欧拉法 隐式欧拉法 引言:微分方程初值问题模型是常见的一类数学模型。对于一些简单而典型的微分方程模型,譬如线性方程、某些特殊的一阶非线性方程等是可以设法求出其解析解的,并有理论上的结果可资利用。但在数学建模中碰到的常微分方程初值问题模型,通常很难,甚至根本无法求出其解析解,而只能求其近似解。因此,研究其数值方法,以便快速求得数值鳃有其重大意义。 一、欧拉算法原理 对于微分方程初值问题 的解在xy 平面上是一条曲线,称为该微分方程的积分曲线。积分曲线上一点(),x y 的切线斜率等于函数f 在点(),x y 的值,从初始点()000,P x y 出发,向该点的切线方向推进到下一个点()111,P x y ,然后依次做下去,得到后面的未知点。一般地,若知道(),n n n P x y 依上述方法推进到点()111,n n n P x y +++,则两点的坐标关系为: 即 这种方法就是欧拉(Euler )方法(也叫显式欧拉法或向前欧拉法)。当初值0y 已知,则n y 可以逐步算出 对微分方程()=x y dy f dx ,从n x 到1n x +积分,那么有 现在用左矩形公式()(),n n hf x y x 代替()()1 ,n n x x f t y t dt +?,n y 代替()n y x ,1n y +代替() 1n y x +就得到了欧拉方法。如果用右矩形公式()()11,n n hf x y x ++去代替右端积分,则得到另外一 个公式,该方法就称为隐式欧拉法(或后退欧拉法),其公式为 欧拉公式与隐式欧拉公式的区别在于欧拉公式是关于1n y +的一个直接计算公式,然而隐式欧拉公式右端含有1n y +,所以它实际上是关于1n y +的一个函数方程。 二、实例 例 取h=,用Euler 方法解

二阶常系数齐次线性微分方程求解方法

第六节 二阶常系数齐次线性微分方程 教学目的:使学生掌握二阶常系数齐次线性微分方程的解法,了解二阶常系数 非齐次线性微分方程的解法 教学重点:二阶常系数齐次线性微分方程的解法 教学过程: 一、二阶常系数齐次线性微分方程 二阶常系数齐次线性微分方程 方程 y py qy 0 称为二阶常系数齐次线性微分方程 其中p 、q 均为常数 如果y 1、y 2是二阶常系数齐次线性微分方程的两个线性无关解 那么y C 1y 1C 2y 2就是它的通解 我们看看 能否适当选取r 使y e rx 满足二阶常系数齐次线性微分方程 为此将y e rx 代入方程 y py qy 0 得 (r 2pr q )e rx 0 由此可见 只要r 满足代数方程r 2pr q 0 函数y e rx 就是微分方程的解 特征方程 方程r 2pr q 0叫做微分方程y py qy 0的特征方程 特征方程的两个根r 1、r 2可用公式 2 422,1q p p r -±+-= 求出 特征方程的根与通解的关系 (1)特征方程有两个不相等的实根r 1、r 2时 函数x r e y 11=、x r e y 22=是方程的两个线性无关的解 这是因为

函数x r e y 11=、x r e y 22=是方程的解 又x r r x r x r e e e y y )(212121-==不是常数 因此方程的通解为 x r x r e C e C y 2121+= (2)特征方程有两个相等的实根r 1r 2时 函数x r e y 11=、x r xe y 12=是二阶常系数齐次线性微分方程的两个线性无关的解 这是因为 x r e y 11=是方程的解 又 x r x r x r x r x r x r qxe e xr p e xr r xe q xe p xe 111111)1()2()()()(1211++++=+'+'' 0)()2(121111 =++++=q pr r xe p r e x r x r 所以x r xe y 12=也是方程的解 且x e xe y y x r x r ==1112不是常数 因此方程的通解为 x r x r xe C e C y 1121+= (3)特征方程有一对共轭复根r 1, 2i 时 函数y e ( i )x 、y e (i )x 是微分方程的两个线性无关的复数形式的解 函数y e x cos x 、y e x sin x 是微分方程的两个线性无关的实数形式的解 函数y 1e (i )x 和y 2e (i )x 都是方程的解 而由欧拉公式 得 y 1e ( i )x e x (cos x i sin x ) y 2e (i )x e x (cos x i sin x ) y 1y 22e x cos x )(21cos 21y y x e x +=βα y 1y 2 2ie x sin x )(21sin 21y y i x e x -=βα 故e x cos x 、y 2e x sin x 也是方程解 可以验证 y 1e x cos x 、y 2e x sin x 是方程的线性无关解 因此方程的通解为 y e x (C 1cos x C 2sin x )

相关文档
最新文档