1.多项式计算的秦九韶算法
计算顺序按表格从上往下,从左往右
0a0 | 1a1 | 2a2 | … | {n-1}an−1 | nan | |
0x=x0 | 0b0x0 | 0b1x0 | … | 0bn−2x0 | {n-1}x_0bn−1x0 | |
0b0 | 1b1 | 2b2 | … | {n-1}bn−1 | n=f(x_0)bn=f(x0) |
3 | 0 | -1 | 1 | 2 | |
0=2x0=2 | 6 | 12 | 22 | 46 | |
3 | 6 | 11 | 23 | 48 |
2.方程求根的二分法算法描述
伪代码示例:
input a,b//满足f(a)f(b)<0 input 精度要求e do{ x=(a+b)/2; if (f(a)f(x)<0) b=x else a=x }while(b-a>e); output x
真实代码:求一个数的三次方根
#include <iostream> #include <iomanip> double n; using namespace std; int main() { cin >> n; double l, r, mid; l = -2147483648; r = 2147483647; while (r - l >= 1e-7) { mid = (l + r) / 2; if (mid * mid * mid >= n) r = mid; else l = mid; } cout << fixed << setprecision(6) << mid; }
3.方程求根的简单迭代法
4.线性方程组数值解的高斯消去法
普通的高斯消元法:输入一个包含n 个方程 n 个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。
高斯消元法分两个步骤:1.消元 2.回代。在列主元高斯消元法中,每一次消元都需要交换行,选择
伪代码描述:
for k=1 to n-1 do for i=k+1 to n do { l=-a[i][k]/a[k][k]; for j = 1 to n do a[i][j]=a[i][j]+l*a[k][j] b[i]=b[i]+l*b[k]; } for k = n downto 1 do { s=0; for j=k+1 to n do s=s+a[k][j]*x[j]; x[k]=(b[k]-s)/a[k][k]; }
真实代码:
#include<cmath> #include<iostream> #include<algorithm> using namespace std; const double ep=1e-6; double a[105][105]; int n; int main(){ cin>>n; for(int i=0;i<n;i++) for(int j=0;j<=n;j++) cin>>a[i][j]; int c,r; for(c=0,r=0;c<n;c++){ int t=r; for(int i=r;i<n;i++){ if (fabs(a[i][c])>fabs(a[t][c])) t=i; } if (fabs(a[t][c])<ep) continue; for(int i=c;i<=n;i++) swap(a[t][i],a[r][i]); for(int i=n;i>=c;i--) a[r][i]/=a[r][c]; for(int i=r+1;i<n;i++) if (fabs(a[i][c])>ep) for(int j=n;j>=c;j--) a[i][j]-=a[r][j]*a[i][c]; r++; } if (r<n){ for(int i=r;i<n;i++) if(fabs(a[i][n])>ep){ puts("No solution"); return 0; } puts("Infinite group solutions"); return 0; } else{ for(int i=n-1;i>=0;i--) for(int j=i+1;j<=n;j++) a[i][n]-=a[j][n]*a[i][j]; for (int i = 0; i < n; i ++ ) printf("%.2lf\n", a[i][n]); } return 0; }
5.拉格郎日插值多项式与插值余项
(3)为插值多项式余项。其中,
6.曲线拟合的最小二乘法多项式拟合方程组
7.定积分计算的复化辛卜生公式算法描述
伪代码:
for (i=1;i<=n-1;i++){ x1=x1+h; x2=x2+h; y1=y1+f(x1); y2=y2+f(x2); } S=(f(a)+f(b)+2*y1+4*y2)*h/6 output S
8. 复化求积公式的阶与变步长求积公式稳定性
该公式p阶收敛
复化梯形:2阶。复化辛卜生:4阶。复化柯特斯:6阶
复化梯形公式:
9.数值微分计算的中点公式
10.一阶常微分方程数值解法梯形公式
x_i | y_i |
0 | 1 |
0.1 | 0.9901 |
0.2 | 0.96098 |
0.3 | 0.9143 |
0.4 | 0.8527 |