首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

數值計算經典算法 C++ 實現:牛頓法、高斯消元、拉格朗日插值

     編輯:關於C

1. 牛頓迭代法求實根

求 x³ - 3x - 1 = 0 在 2 附近的根,精度 1e-4。
代碼採用二分法輔助確定初始區間,再迭代 x_{n+1} = x_n - f(x_n)/f'(x_n)。

2. 高斯消元法解線性方程組

2x₁ - x₂ - x₃ = 4
3x₁ + 4x₂ - 2x₃ = 11
3x₁ - 2x₂ + 4x₃ = 11

增廣矩陣列主元消元,回代求解,輸出 x₁, x₂, x₃ 保留 4 位小數。

3. 拉格朗日插值

已知數據點:

x1.12751.15031.17351.1972
f(x)0.11910.139540.159320.17903

計算 f(1.1300) 近似值。基函數 L_i(x) = ∏(x-x_j)/(x_i-x_j),插值多項式 P(x) = Σ y_i L_i(x)。

代碼結構共性

  • 使用 const double eps 控制精度
  • 固定維度數組存儲矩陣/節點
  • printf 格式化輸出結果

工程提示

  • 生產環境優先用成熟數值庫(Eigen, GSL, LAPACK)
  • 高斯消元需處理奇異矩陣、列主元選擇數值穩定性
  • 插值節點過多會產生龍格現象,建議分段低次插值或樣條

摘自 int64Ago 的專欄

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved