分別用雅可比 迭代法與高斯塞德爾迭代法解下列方程組:
雅可比迭代法:
高斯賽德爾迭代法:#include
#include
#define eps 1e-6
#define max 100
//雅可比迭代法
void jacobi(float *a,int n,float x)
y[i]=(*(a+i*(n+1)+n)-s)/(*(a+i*(n+1)+i));
epsilon+=fabs(y[i]-x[i]);
}for(i=0;iif(epsilonprintf("%d\n",k);return;}
if(k>=max)
}delete y;
}void main()
; float x[4];
jacobi(a[0],4,x);
for(i=0;i<4;i++)printf("x[%d]=%f\n",i+1,x[i]);
float b[9][10]=;
float xx[9];
jacobi(b[0],9,xx);
for(i=0;i<9;i++)printf("xx[%d]=%f\n",i+1,xx[i]);
}
#include
#include
#define n 500
//高斯塞德爾
void gauss(float *a,int n,float x)
dx=(*(a+i*(n+1)+n)-d)/(*(a+i*(n+1)+i));
eps+=fabs(dx-x[i]);
x[i]=dx;
}if(eps<1e-6)
if(k>n)
k++;
}}void main()
; float x[4];
float b[9][10]=;
float xx[9];
gauss(a[0],4,x);
for(i=0;i<4;i++)printf("x[%d]=%f\n",i+1,x[i]);
gauss(b[0],9,xx);
for(i=0;i<9;i++)printf("xx[%d]=%f\n",i+1,xx[i]);
}
雅可比迭代法 高斯 賽德爾迭代法
求解方程組 用雅可比迭代法求解方程組ax b 輸入 a為方程組的係數矩陣,b為方程組右端的列向量,輸入 x0為迭代初值構成的列向量,nm為最大迭代次數,eps為誤差精度 輸出 x為求得的方程組的解構成的列向量,k為迭代次數 d diag diag a l tril a,1 u triu a,1 b ...
高斯 賽德爾迭代法python實現
import scipy import scipy.linalg import numpy.matlib import numpy as np import time import warnings warnings.filterwarnings ignore def gaussseidel inv...
牛頓迭代法
創新工廠的筆試題 不用庫函式sqrt 求乙個整型數n的開方,要求精度達到0.001即可。在這裡首先介紹一下牛頓迭代法 假設乙個方程為 f x 0 那麼假設其解為x0,則用泰勒級數展開之後可得 f x f x0 f x0 x x0 0 其中x為其近似解。根據上式推導出 x x0 f x0 f x0 這...