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.選擇方程求解方法中的兩種方法求...