當前位置:編程學習大全網 - 網站源碼 - 如何用MATLAB求解該方程?麻煩提供源代碼。

如何用MATLAB求解該方程?麻煩提供源代碼。

為了看著舒服,把妳的i替換成了x。為了提高計算效率,方程做了變換,具體的看下面推導

可以采用不動點叠代法。即選定壹個初值(這裏選初值為0),代入等式右端,得到壹個新的x值,再代入又得到壹個x,不停的重復,直到達到精度要求。

matlab代碼如下:

tic

x = 0 ;

kmax=1000;

for kk = 1:kmax

xt=1/(1+x) ; % (x+1)^(i-1) ;

S=0; % sum[(x+1)^(i-1)]

iS=0; % sum(1/S) ;

for i=1:20

xt = xt*(x+1) ;

S = S + xt ;

iS = iS + 1/S ;

end

x_new = (1.26/1.2 - iS)/20 ;

if( abs(x_new-x) < 1E-12 )

disp(' ')

info = sprintf('叠代收斂!***叠代%d次\nx=%.13f',kk,x_new);

disp(info)

disp(' ')

break;

end

x = x_new ;

end

if( kk == kmax )

disp(' ')

disp('叠代失敗')

disp(' ')

end

toc

matlab計算結果:

叠代收斂!***叠代151次

x=-0.4087705455543

Elapsed time is 0.001385 seconds.

兄弟,這個問題看起來簡單,解決起來很需要有數學基礎和編程基礎,分太少了,別人都不願意幹。我剛好早起閑了,給妳搭把手。再加點分比較合理。

  • 上一篇:怎麽換蘋果小程序壁紙
  • 下一篇:怎麽用EXCEL作抽獎器
  • copyright 2024編程學習大全網