当前位置:首页 > 数值实验报告
float f1(float x) //原函数的导函数 { }
void main() { }
float x0,y0;
printf (\请输入迭代初值x0=\\n\
scanf(\键入x0的值 printf(\
y0=Newton(f,f1,x0); //调用 牛顿迭代 函数 printf(\方程的根为%0.8f\\n\return 3*x*x+2*x-3;
实验4 线性方程组数值解法
4.1 目的与要求
(1)熟悉求解线性方程组的有关理论和方法;
(2)会编制列主元消去法、LU分解法、雅可比迭代法及高斯-塞德尔迭代法的程序;
(3)通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。
4.2 列主元高斯消去法
4.2.1 算法
(aij)将方程用增广矩阵[A︱b]=n?(n?1)表示。
(1)消元过程 对k=1,2,…,n-1:
①选主元,找ik∈{k,K+1,…,n},使得 ︱aik,k︱=max︱aik︱ (k<=i<=n)
②如果aik,k=0,则矩阵A 奇异,程序结束;否则执行③。 ③如果ik≠k,则交换第k行与第ik行对应元素的位置,即
akj?aikj(j=k,k+1,…,n+1)
④消元,对i=k+1,k+2,…,n计算
lik?aik/akk
对j=k+1,k+2,…,n+1计算
aij?aij?likakj
(2)回代过程 ①若ann②
?0,则矩阵A奇异,程序结束;否则执行②。
xn?an,n?1/an;对i= n-1,…,2,1 计算
xi?(ai,n?1?
4.2.2 程序与实例
解方程组
j?i?1?ax)/aijjnii
2x1+ 4x2+ x3= 4
2x1+ 6x2- x3= 410
x1+ 5x2+ 2x3= 2
共分享92篇相关文档