當前位置:編程學習大全網 - 編程軟體 - 用Matlab求壹道數值分析的題

用Matlab求壹道數值分析的題

%(1)取y(x)=e^(-x),用簡單叠代法 x(n+1)=y[x(n)]計算。

clc;clear

err=1;

k=1;

y=0.5;

format long

while abs(err)>10e-8

y=exp(-y);

err=y-exp(-y);

k=k+1;

end

k

y

err

%(2)用加快收斂的叠代格式 x(n+1)=a*y[x(n)]+(1-a)*x(n) , a=0.625計算

a=0.625;

err1=1;kk=1;yy=0.5;

while abs(err1)>10e-8

%for kk=1:10

yy=exp(-yy);

yy1=a*yy+(1-a)*exp(-yy);%x(n+1)=a*y[x(n)]+(1-a)*x(n)

err1=yy1-yy;

kk=kk+1;

end

kk

yy

err1

運行結果:

k = 26

y = 0.56714333810549

err = 7.474599861279074e-008

kk = 24

yy = 0.56714343869357

err1 = -8.714322441427669e-008

精確解:

>> x=eval(solve('x=exp(-x)'))

x = 0.56714329040978

  • 上一篇:圖像識別是怎麽的運行原理?
  • 下一篇:visio 2010 產品密鑰,小編教妳visio 2010產品密鑰
  • copyright 2024編程學習大全網