數值計算方法實驗

2021-09-24 23:54:15 字數 1395 閱讀 7130

1.給定下述演算法框圖,用逐步掃瞄法和二分法求方程x5+3x-1=0的最小正根,要求準確到1/2×10-2。

要求:

(1) 取步長h=1,先用逐步掃瞄法程式設計搜尋乙個隔根區間,將搜尋到的隔根區間列印輸出;

(2) 然後對該區間使用二分法求方程的滿足精度要求的根,每二分一次,用新生成區間長度的一半作為是否二分結束的判斷條件;

(3) 要求步長h和精度ε從鍵盤輸入;

(4) 輸出每一次二分過程所得到的區間端點ak、bk以及區間中點xk的資訊,最後列印輸出滿足精度要求的方程根的近似值。

源**:

#include#includeusing namespace std;

int main()

printf("隔根區間:(%.3lf,%.3lf)\n",x-h,x);   

k = 1;a = x-h;b = x;   //a為左端點,b為右端點

m = (a+b)/2;

while(1)

else

else

else

k = k+1;}}

m = (a+b)/2;      //繼續二分

}return 0;

}

2.用迭代法、牛頓迭代法和雙點弦截法求解方程x=e-x在x=0.5附近的乙個根,要求精確到小數點後五位。

要求:(1) 在同乙個程式裡面將三種演算法程式設計實現;

(2) 精度ε要求從鍵盤輸入;

(3) 將三種演算法的每一步迭代計算結果列印輸出,最後輸出滿足精度要求的方程的根;

(4) 根據計算結果,比較三種演算法的收斂速度。

源**:

#include#includeusing namespace std;

void dd(double e)

printf("%d  %lf\n",count++,x);

printf("最終結果:\n %.5lf\n",x);

double x0 = x;

x = exp(-x);

}void nd(double e)

printf("%d  %lf\n",count++,x);

printf("最終結果:\n %.5lf\n",x);

}void sd(double e)

printf("%d  %lf\n",count++,x2);

printf("最終結果:\n %.5lf\n",x2);

}int main()

數值計算方法

數值計算方法知識面涉及微積分,線性代數 運用程式設計的方法來解決關於數值計算的問題,其中重點討論如何最小化誤差,一些方程的數值解法,以及插值和擬合問題。其中的知識可以作為資料探勘的基礎。執行 5.1 5 0.1和 1.5 1 0.5,給出執行結果,並簡要分析一下產生現象的原因 x1 5.1 5 0....

Matlab 數值計算方法作業

2 簡單迭代法 3 牛頓迭代法 結果分析 二分法計算函式的零點 輸入求根區間a,b和求根精度abtol 函式輸出根的近似值,和迭代次數 function dichotomy a input 請輸入求根的下限,a b input 請輸入求根的上限,b abtol input 請輸入求根的精度,abto...

理工大數值計算方法實驗報告

實驗名稱 方程求根 實驗目的和要求 1 了解方程求根的基本方法 基本原理 誤差估計 2 能夠按照工程實際要求,選擇適當的演算法 3 通過編寫程式,進行演算法設計和數值求解。實驗內容和原理 1.熟悉使用二分法 牛頓法等方程求根的基本方法 基本原理 誤差估計的相關理論。2.選擇方程求解方法中的兩種方法求...