计算方法实验报告习题3(浙大版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算方法实验报告
实验名称: 实验3 梯形法解方程组的初值问题 1 引言
2 实验目的和要求
用欧拉法梯形格式求解方程组初值问题(取h =0.1),所需初值用经典R-K 方法计算。将编程运算的结果与习题七中第5题的计算结果作一比较[1]。
3 算法原理与流程图
(1)原理 对于初值问题
α
=∈=)(],[),,(a y b a x y x f dx
dy
先将[a,b]作n 等分,得到各离散节点),,2,1,0(n i ih a x i =+=。式中,n
a
b h -=
。 设)(x y y =为方程的解,则)(1+i x y 在),(i i y x 处的泰勒展开式忽略高阶无穷小量后得
)1,2,1,0))((,()()(1-=+≈+n i x y x hf x y x y i i i i
)(),(1i i x y x y +分别用近似值i i y y ,1+代入,则得
)1,,2,1,0)(,(1-=+=+n i y x hf y y i i i i
即欧拉格式。用差商近似代替导数也可得到欧拉格式。用向后差商表示两点数值微分公式,得到隐式欧拉格式
)1,,2,1,0)(,(111-=+=+++n i y x hf y y i i i i
两种方法公式相加再取平均值得到梯形格式
[])1,,2,1,0(),(),(2
111-=++=+++n i y x f y x f h
y y i i i i i i
专业:电气工程及其自动化
姓名: 李X
(2)流程图
输入系数矩阵u,边界a,b,步
长h,和初值矩阵v
n←(b-a)/n
y j(1)←v(j)
j=1,2,…,m
A=E m-h/2*u
B=E m+h/2*u
i=1,2,…,n
y i(j+1)=A-1B*y i(j)
j=1,2,…,m
i 输出x,y i 4程序代码及注释 %欧拉法梯形格式 function [x,y]=euler(u,v,a,b,h) %说明 %对于下列类型的一阶方程组进行求解 %y1'=u11*y1+u12*y2+…+u1m*ym; %y2'=u21*y1+u22*y2+…+u2m*ym; %… %ym'=um1*y1+um2*y2+…+umm*ym; %可写成矩阵乘积的形式,u=[u11,u12,…,u1m;u21,u22,…,u2m;……]; %初值向量v %y1(1)=v1,y2(1)=v2,…,ym(1)=vm; n=(b-a)/h;m=length(u); x=[a:h:b]; y(:,1)=v; %定义y(:,1)代表方程组解矩阵的初值 p=eye(m); A=-h/2*u+p; B=h/2*u+p; %由梯形法公式,推导出m 元一阶方程组的解法 for j=1:n y(:,j+1)=A\B*y(:,j); end %解矩阵y 的第j 列为x=a+(j-1)*h 时的数值解 x=x'; %输出列向量 y=y'; %转置后,第i 行第j 列为x=a+(i-1)*h 时yj 的数值解 注释 对于一般形式的m 元一阶微分方程组 ⎥ ⎥ ⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢ ⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡m mm m m m m m m m m m y y y u u u u u u u u u y y y x f y y y x f y y y x f y y y 2121222211121121212211''2'1),,,,(),,,,(),,,,(,满足初值条件⎥⎥⎥⎥⎦ ⎤ ⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡m m v v v y y y 2121)1()1()1(, []b a x ,∈ 可以用梯形法求解 ⎥ ⎥⎥ ⎥⎦ ⎤ ⎢⎢⎢⎢⎣⎡+++⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎦ ⎤ ⎢⎢⎢⎢⎢⎢⎢⎣⎡+++=⎥ ⎥⎥ ⎥⎦⎤ ⎢⎢⎢⎢⎣⎡++++ ++++ ++++ +⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+++)1()1()1(2)()()(122221222212))1(,),1(),1(,())(,),(),(,())1(,),1(),1(,())(,),(),(,())1(,),1(),1(,())(,),(),(,(2)()()()1()1()1(212 1 22221112112121 22221 112112********* 2112112121i y i y i y u u u u u u u u u h i y i y i y u h u h u h u h u h u h u h u h u h i y i y i y x f i y i y i y x f i y i y i y x f i y i y i y x f i y i y i y x f i y i y i y x f h i y i y i y i y i y i y m mm m m m m m mm m m m m m m m m m m m m m m 整理后得到 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎦ ⎤ ⎢⎢⎢⎢⎢⎢⎢⎣⎡+++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+++⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡---)()()(12 2221222212)1()1()1(2122 2212 22 21212 122221 112 112121 222 2111211 i y i y i y u h u h u h u h u h u h u h u h u h i y i y i y u h u h u h u h u h u h u h u h u h m mm m m m m m mm m m m m 记为