%?原方程等價於4 * cos(x)-exp(x)= 0;
%?定義壹些基本數據
x0 =π/4;%?基礎資料
e = 0.0001;?%?精確
flag = 1;?%?判斷準確度的值,初始設置為較大的值。
d = 0;?%?每次修正壹個增量,為了程序的可讀性,首先定義它。
x = x0?%?用於計算的變量x
%?然後進行叠代計算。
%?以下是收斂檢查。所有關於xlist,ylist和I的參數都是用來畫圖的。
%?如果妳只是需要結果,請忽略它。
I = 1;
什麽時候?1
flag = 4 * cos(x)-exp(x);
如果?ABS(flag)& lt;= e;%?判斷準確性要求
打破;
結束
%?以下是各種記錄
ilist(I)= I;
xlist(I)= x;
ylist(I)= flag;
I = I+1;
%?校訂
d =-flag/(-4 * sin(x)-exp(x));
x = x+d;
結束
disp(['是'的x值?num2str(x)?,錯誤是'?num2str(flag)?'。' ]);
%?以下是圖紙
圖(1);保持?開;
plot(ilist,xlist,' r-* ');
plot(ilist,ylist,'b-^');
-
結果如下:
解的x值為0.90479,誤差為-1.1928e-009。
從圖中我知道* * *進行了三點試算,兩次叠代修正。從曲線的光滑度可以知道收斂效果不錯。