常微分方程数值解上机

原创 2011年01月13日 01:02:00

   二步显式Adams法和Gear法求解 y0=1,步长分别为h=0.1h=0.05

1.       程序文本

      二步显式Adams

 

clc;

y(1)=1;

h=0.1;

y(2)=y(1)-2*h*y(1)+3*h;

n=1/h;

for i=2:n

 y(i+1)=y(i)-3*h*y(i)+h*y(i-1)+3*h;

end

t=0:h:1;

f=-0.5*exp(-2*t)+1.5;

r=plot(t,y,'*');

hold on,

g=plot(t,f);

set(g,'LineWidth',1,'color','blue');hold off;

w=abs(f(n+1)-y(n+1));

 

      二步显式Gear

clc;

y(1)=1;

h=0.05;

y(2)=y(1)+h*y(1);

n=1/h;

for i=2:n

y(i+1)=(4/3*y(i)-1/3*y(i-1)+2*h)/(1+4/3*h);

end

t=0:h:1;

f=-0.5*exp(-2*t)+1.5;

r=plot(t,y,'*');

hold on,

g=plot(t,f);

set(g,'LineWidth',1,'color','blue'),hold off;

w=abs(f(n+1)-y(n+1));

 

 应用显式中点法和44Gill方法求解初值问题 ,列出当步长h=0.2h=0.1时计算到终点t=1的数值解及其误差,并附算法的matlab程序。

1.       程序文本

    显式中点法

 clc;

y(1)=3;h=0.2;

t=0;

n=1/h;

for i=1:n

    t=t+h;

    Y=(1-0.5*h)*y(i)-0.5*h*t;

    y(i+1)=y(i)-h*t-h*Y-0.5*h^2;

end

t=0:h:1;

f=2*exp(-t)-t+1;

r=plot(t,y,'r*');

hold on,

g=plot(t,f);

set(g,'LineWidth',1,'color','blue'),hold off;

w=abs(f(n+1)-y(n+1))

y

 

 

44Gill方法

clc;

y(1)=3;h=0.05;

t=0;b=0.5^0.5

n=1/h;

for i=1:n

    t=t+h;

    Y1=y(i);

    Y2=y(i)-0.5*h*t-0.5*h*Y1;

    Y3=y(i)-0.5*h*t-(b-0.5)*h*Y1-(1-b)*h*Y2-0.5*(1-b)*h^2;

    Y4=y(i)-h*t+b*h*Y2-(1+b)*h*Y3-0.5*h^2;

    y(i+1)=y(i)-h*t-1/6*h*Y1-1/3*(1-b)*h*Y2-1/3*(1+b)*h*Y3-1/6*h*Y4-0.5*h^2;

end

t=0:h:1;

f=2*exp(-t)-t+1;

r=plot(t,y,'r*');

hold on,

g=plot(t,f);

set(g,'LineWidth',1,'color','blue'),hold off;

w=abs(f(n+1)-y(n+1))

y

 

相关文章推荐

微分方程数值解上机

  • 2014年08月13日 10:48
  • 195KB
  • 下载

实验四 常微分方程的数值解(android)

实验一博客地址:http://blog.csdn.net/double2hao/article/details/51152843 实验二博客地址:http://blog.csdn.net/double...

常微分方程数值解:欧拉公式

算法原理 对于常微分方程初值问题 在求解区间[a,b]上作等距分割的剖分,步长,记。用数值微商的方法,即用差商近似微商数值求解常微分方程。 用向前差商近似 做出y(x)的在x=x0处的一...

欧拉法、预估校正法(改进的欧拉法)与四阶龙格库塔法求解常微分方程的数值解C++程序

以y'=x+y,0 #include using namespace std; double cor[10000]; double f(double x,double y)//改写函数 { ...

实验四 常微分方程的数值解

  • 2016年05月11日 11:11
  • 20.71MB
  • 下载

数值作业:改进欧拉法求常微分方程C语言代码

首先给出改进的Euler法的公式: 然后对算法进行分析,在数值书上171面上的例3,题目是{ y'=-y+x+1, y(0)=1}第一个是变化率:dy/dx,取h=0.1,计算至x=0.5:...

常微分方程的数值解法

问题描述对于一阶的方程: {y′=f(x,y)(a⩽x⩽b)y(a)=η \left\{ \begin{align} &y'= f(x, y) (a \leqslant x \leqslant b...

常微分方程数值含算例

  • 2014年11月15日 10:32
  • 247KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常微分方程数值解上机
举报原因:
原因补充:

(最多只允许输入30个字)