数值分析实验六 常微分方程性态和R-K 法的稳定性
班级:11级数本 姓名 :宋梦琪 学号:20110501055
一、实验名称:
常微分方程性态和R-K 法的稳定性
二、实验目的:
考察下面微分方程右端项中函数y 前面的参数对方程性态的影响(它可使方程为好条件的或坏条件的)和研究计算步长对R-K 法计算稳定性的影响。
三、实验内容及要求:
实验题目:常微分方程初值问题
'1,01,
(0)1,
y ay ax x y ?=-+<
=? 其中,5050a -≤≤。其精确解为()ax y x e x =+。
四、实验要求:本实验题都用4阶经典R-K 法计算
(1)对参数a 分别取4个不同的数值:一个大的正值,一个小的正值,一个绝对值小的负值和一个绝对值大的负值。取步长h=0.01,分别用经典的R-K 法计算,将四组计算结果画在同一张图上,进行比较并说明相应初值问题的性态。 (2)取参数a 为一个绝对值不大的负值和两个计算步长,一个步长使参数ah 在经典R-K 法的稳定域内,另一个步长在经典R-K 法的稳定域外。分别用经典R-K 法计算并比较计算结果。取全域等距的10个点上的计算值,列表说明。
五、实验代码
Matlab 程序如下:
function charp5_1
%数值试验5.1:常微分方程性态和R-K 法稳定性试验 %输入:参数a ,步长h
%输出:精确解和数值解图形对比 %clf;
result=inputdlg({'请输入[-50,50]间的参数a:'},'实验5.1',1,{'-40'}); a=str2num(char(result));
if (a50) errordlg('请输入正确的参数a!'); return;end
result=inputdlg({'请输入(0 1)之间的步长:'},'实验5.1',1,{'0.01'}); h=str2num(char(result));
if (h<=0|h>=1) errordlg('请输入正确的(0 1)间的步长!'); return;end