当前位置:首页 > 计算方法实验指导书
*说明:对于不同f(x)、不同的初始等分数m、不同的误差控制?,修改程序的#define项,如本例有:
#define f(x) (sin(x)) //f(x)?sin(x) #define m 100 //初始等分数 100 #define epsilon 0.00001 //误差控制?<0.00001 三、实验要求
1.独立编写较为通用的复化梯形公式的自适应算法求积分的程序,并上机调试和运行。至少用编制的程序验证两个函数,改变误差控制?的值观察n的变化。记录所用的函数、初始数据及程序的输入输出数据。
2.将调试好的程序及有关记录存盘,交给任课老师。
5
实验三 高斯列主元消去法解线性方程组
一、实验目的
理解解线性方程组的直接法,掌握高斯列主元消去法及程序实现。 二、实验内容
用高斯列主元消去法解线性方程组
?a11??a21????a?n1a12a22?an2?a1n??x1??b1???????a2n??x2??b2???? ?????????????????ann???xn??bn?算法描述
输入:矩阵A及常数项列向量b。 分解过程:对k=1,2,...,n-1
{ 选择 max{|ak,k|, |ak?1,k|, ?, |an,k|}?am,k,交换第k行和第m行 对i=k+1,…,n;j=k+1,…,n
(k?1)(k)(k)(k)(k) aij?aij?(aikakk)?akj 对i=k+1,…,n
(k)(k)(k) bi(k?1)?bi(k)?(aikakk)?bk } 回代过程:对i=n,n-1,…,1,解得
xi?b(n)i?j?i?1(k)(k)xj ?aijn*说明:最大维数的声明在主程序之前,如:
#define MAX_N 20 //最大维数为20 计算实例
用高斯列主元消去法解线性方程组:
?2x1?x2?x3?4??x1?3x2?2x3?6 ?x?2x?2x?523?1程序输入:
6
Input n value(dim of Ax=b):3
Now input the matrix a(i,j),i,j=0,…,2: 2 1 1 1 3 2 1 2 2
Now input the matrix b(i),i =0,…,2:
4 6 5 程序输出
Solve...x_i= 1.000000 1.000000 1.000000 三、实验要求
1.独立编写通用的高斯列主元消去法的实现程序,并上机调试和运行。改变维数及A、b的值,多试几次,观察程序的输出解。记录每次程序的输入输出数据。
2.将调试好的程序及有关记录存盘,交给任课老师。
7
实验四 简单迭代法解线性方程组
一、实验目的
理解解线性方程组的迭代法,掌握用迭代法解线性方程组的方法及程序实现。 二、实验内容
用简单迭代法解线性方程组
?a11??a21????a?n1a12a22?an2?a1n??x1??c1???????a2n??x2??c2???? ?????????????????ann???xn??cn?算法描述
输入:矩阵A及常数项列向量c。 按Jacobi迭代公式
(k?1)(k)(k)?x1?(?a12x2???a1nxn?c1)a11?(k?1)(k)(k)?(?a21x2???a2nxn?c2)a22?x2 ?????????????????(k?1)(k)(k)?xn?(?an1xn???an,n?1xn?1?cn)ann?求解方程Ax=c。
当||x(k?1)?x(k)||???时,迭代结束。 输出结果及迭代次数。
*说明:最大维数、最大迭代次数、求解精度的声明在主程序之前,如:
#define MAX_N 20 //方程组的最大维数 20 #define MAXREPT 100 //最大迭代次数 100 #dfine epsilon 0.00001 //求解精度 <0.00001 计算实例
用Jacobi迭代法解线性方程组:
?64x1?3x2?x3?14??2x1?90x2?x3??5 ?x?x?40x?2023?1要求??0.00001
8
共分享92篇相关文档