江 西 科 技 师 范 学 院
实 验 报 告
课 程
系 别
班 级
学 号
姓 名
目录
实验一 误差的传播与估计…………………………………… 实验二 拉格朗日插值多项式………………………………… 实验三 变步长复合梯形求积公式…………………………… 实验四 解非线性方程二分法………………………………… 实验五 一元非线性方程的迭代解法………………………… 实验六 列主元高斯消去法……………………………………
每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。实验时必须遵守实验规则。用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备。这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果。请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新。它将推动你在人生奋斗的道路上永往直前!
实验一 误差的传播与估计
一、 实验课程名称 数学实验
二、 试验项目名称 误差的传播与估计 三、 实验目的和要求
理解误差在算术运算中的传播方式及如何在算术运算中控制误差的传播。
四、 实验内容和原理
内容:计算积分E n =⎰0x n e x -1dx
1
(n =1, 2 20)
原理:算术运算中的舍入误差在运算过程中的传播常因算法而异,不同算法的数值稳定性往往差别很大。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)由分部积分法建立两种递推公式:
⎧E n =1-nE n -1
⎪ ⎨1
E =1⎪e ⎩
(n =2, 3 20) ⎧E n -1=(1-E n ) /n
⎪ ⎨1E ≈20⎪21⎩
(n =20, 19 1)
(2)对这两种递推式进行程序实现,分别求出E 1 E 20的值。
1)fprintf(' 当n=%1.0f,E1=%1.15f\n',1/exp(1))
En=1/exp(1);
for n=2:20 En=1-n*En;
fprintf(' 当n=%1.0f,E%1.0f=%1.15f\n',n,n,En) end
结果:
当n=1,E1=0.[**************] 当n=2,E2=0.[**************]
当n=3,E3=0.[**************] 当n=4,E4=0.[**************]
当n=5,E5=0.[**************] 当n=6,E6=0.[**************] 当n=7,E7=0.[**************] 当n=8,E8=0.[**************] 当n=9,E9=0.[**************] 当n=10,E10=0.[**************] 当n=11,E11=0.[**************] 当n=12,E12=0.[**************]
当n=13,E13=0.[**************] 当n=14,E14=0.[**************] 当n=15,E15=0.[**************] 当n=16,E16=0.[**************] 当n=17,E17=0.[**************] 当n=18,E18=0.[**************] 当n=19,E19=-5.[**************] 当n=20,E20=104.[**************]
2)fprintf(' 当n=20,E1=%1.15f\n',1/21)
En=1/21;
for n=20:-1:2 En=(1-En)/n;
fprintf(' 当n=%1.0f,E%1.0f=%1.15f\n',n-1,n-1,En) end
结果:
当n=20,E1=0.[**************] 当n=19,E19=0.[**************] 当n=18,E18=0.[**************] 当n=17,E17=0.[**************] 当n=16,E16=0.[**************] 当n=15,E15=0.[**************] 当n=14,E14=0.[**************] 当n=13,E13=0.[**************] 当n=12,E12=0.[**************] 当n=11,E11=0.[**************]
当n=10,E10=0.[**************] 当n=9,E9=0.[**************] 当n=8,E8=0.[**************] 当n=7,E7=0.[**************] 当n=6,E6=0.[**************] 当n=5,E5=0.[**************] 当n=4,E4=0.[**************] 当n=3,E3=0.[**************] 当n=2,E2=0.[**************] 当n=1,E1=0.[**************]
七:分析:
算术运算中的舍入误差在运算过程中的传播常因算法而异,不同的算法的数值稳定性往往差别很大
实验二 拉格朗日插值多项式
一、 实验课程名称 数学实验
二、 实验项目名称 拉格朗日插值多项式 三、 实验目的和要求
理解插值函数的概念及插值多项式的唯一性,掌握代数插值中拉格朗日插值多项式的基本原理及程序实现。
四、 实验内容和原理
内容:从函数表:
出发,用拉格朗日插值多项式计算f (0. 15), f (0. 31), f (0. 47) 的近似值。
原理:利用n 1个插值节点可构造一个最高次数不超过n 次的代数插值多项式,利用该代数插值多项式可做相应的函数逼近。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码;
(2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
function f=fun4(t) format long
x=[0.0 0.1 0.195 0.3 0.401 0.5];
y=[0.39894 0.39695 0.39142 0.38138 0.36812 0.35206]; s=0; for j=1:i-1 for i=1:6 s3=s3*(x(i)-x(j)); s1=1;s2=1; end for j=1:i-1 for j=i+1:6 s1=s1*(t-x(j)); s4=s4*(x(i)-x(j)); end end for j=i+1:6 q=s3*s4; s2=s2*(t-x(j)); r=p/q; end s=s+r*y(i); p=s1*s2; end s3=1;s4=1; f=s;
结果:
fun4(0.15) ans =
0.[**************] fun4(0.31) ans =
0.[**************] fun4(0.47) ans =
0.[**************]
七、 实验结果与分析:
结果: fun(o、15)=0.[**************] fun(0、31)=0.[**************] Fun(0、47)=0.[**************]
分析:利用n+1个节点可构造不超过n 次袋鼠插值多项式
实验三 变步长复合梯形求积公式
一、 实验课程名称 数学实验
二、 实验项目名称 变步长复合梯形求积公式 三、 实验目的和要求
理解积分数值计算方法的意义,明确数值积分中步长与精度的关系,掌握变步长复合梯形求积公式的程序实现。
四、 实验内容和原理
内容:用变步长复合梯形求积公式计算积分E =⎰0
不超过10-10。
原理:将积分区间逐次分半,每分一次就用同一个复合积分公式算出相应的积分近似值,并利用前后两次计算结果来判断误差是否达到精度要求。
1
4
的近似值,要求误差1+x 2
五、 主要仪器及耗材
计算机与Windows XP系统;
C/VB编译环境。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码; (2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
1)function f=fun2(x)
f=4/(1+x^2);
m=1;h=1;
t1=t(h);t2=t(h/2);
while abs(t1-t2)>1/2*10^(-5) m=m+1; t1=t2;
t2=(4^(m-1)*t(h/2)-t(h))/(4^(m-1)-1); h=h/2; end
2)function f=t(h)
a=0;b=1;n=(b-a)/h;s=0; for k=0:n-1 s=s+fun2(a+k*h); end
f=h/2*(fun2(a)+fun2(b)+2*s);
3)clc
m t2
double(int('4/(1+x^2)',0,1))
3.[**************] ans =
3.[**************]
结果:m = 23 t2 =
七、 实验结果与分析。
结果与分析: m=23 t2=3.[**************] ans=3.[**************] 达到了精度要求。
实验四 解非线性方程的二分法
一、 实验课程名称 数学实验
二、 实验项目名称 解非线性方程的二分法 三、 实验目的和要求
理解二分法的基本思想,掌握二分法的程序实现。
四、 实验内容和原理
内容:用二分法计算方程x 3-x 2-1=0在区间(1, 2) 内根的近似值,要求误差不超过10-6。
原理:将含根区间逐次分半,每分一次判断根所在的子区间,舍去无根区间,保留含根区间,依次类推,直至结果满足精度要求。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码; (2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
1、function f=f(x)
f=x^3-x^2-1;
alpha=(a+b)/2
double(solve('x^3-x^2-1'))
结果:alpha = 1.[**************] ans =
1.[**************] -0.[**************] + 0.[**************]i -0.[**************] - 0.[**************]i
2、a=1;b=2;
while abs(f(a)-f(b))>10^(-6) c=(a+b)/2; if f(a)*f(c)
a=c; b=b; end end
七、 实验结果与分析
结果与分析:alpha=1.[**************] -0.[**************] 0.[**************]i -0.[**************] 0.[**************]
实验五 一元非线性方程的迭代解法
一、 实验课程名称 数学实验
二、 实验项目名称 一元非线性方程的迭代解法
三、 实验目的和要求
通过该综合性实验的基本训练,使学生进一步掌握科学计算方法的基本知识;掌握使用常用计算机语言编程进行数值计算的方法;巩固学生对一元非线性方程的迭代解法的理解及对迭代解法收敛性及收敛速度的理解;提高学生对数值计算中误差分析的能力。
四、 实验内容和原理
内容:用单点迭代法及牛顿迭代法解一元非线性方程x 3-x -1=0在[1,3]内的根,
-6
10要求误差不超过。
原理:迭代法是一种逐次逼近法,这种方法使用某个迭代公式反复校正根的近似值,使之逐步精确化,最后得到满足精度要求的结果。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)建立迭代公式;
(2)选择合适的初值; (3)编程计算;
(4)上机输入和调试所编程序; (5)进行误差分析及收敛性分析; (6)整理出实验报告。
a=1;b=3;
x=(a+b)/2;
y=x^3-x-1;z=3*x^2-1; while abs(y/z)>0.000001 x=x-y/z;
y=x^3-x-1;z=3*x^2-1; end
x
结果: x =
1.[**************]
八、 实验结果与分析
结果: x=1.[**************] ans=1.[1**********]746
分析:这种迭代法仅用于某个迭代公式反复校正根的近似值,使之逐步精确化,最后得到满足精确度要求的结果
实验六 列主元高斯消去法
一、 实验课程名称 数学实验
二、 实验项目名称 列主元高斯消去法 三、 实验目的和要求
理解线性方程组直接解法的基本思想,理解列主元高斯消去法的稳定性条件,掌握列主元高斯消去法的程序实现,体会模块化结构程序设计方法的优点。
四、 实验内容和原理
内容:用列主元消去法求解方程组
⎡1⎢2⎢⎢3⎢
⎢4
⎢5⎢⎢6⎢7⎣
111111⎤⎡x 1⎤⎡7⎤
⎢x ⎥⎢8⎥111111⎥⎥⎢2⎥⎢⎥
211111⎥⎢x 3⎥⎢10⎥
⎥⎢⎥⎢⎥
321111⎥⎢x 4⎥=⎢13⎥ 432111⎥⎢x 5⎥⎢17⎥
⎥⎢⎥⎢⎥
543211⎥⎢x 6⎥⎢22⎥
⎢⎥⎢⎥654321⎥⎦⎣x 7⎦⎣28⎦
要求输出:计算解x ;
原理:在高斯消去法的每一次消元计算之前,在系数矩阵或消元后的低阶矩阵中按照一定的范围选取绝对值最大的数做为主元素,以减少计算过程中舍入误差对解的
影响。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码; (2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
a=[1 1 1 1 1 1 1 7;
2 1 1 1 1 1 1 8; 3 2 1 1 1 1 1 10; 4 3 2 1 1 1 1 13; 5 4 3 2 1 1 1 17; 6 5 4 3 2 1 1 22; 7 6 5 4 3 2 1 28]; [m,n]=size(a); x=zeros(m,1); for j=1:n-2
c=max(a(j:m,j)); for i=j:m if a(i,j)==c t=a(j,:);
a(j,:)=a(i,:); a(i,:)=t; end end
for i=j+1:m for p=j+1:n
a(i,p)=a(i,p)-a(i,j)*a(j,p)/a(j,j); end end
for i=j+1:m
a(i,j)=0; end end a;
x(m)=a(m,n)/a(m,m); for i=m-1:-1:1 s=0;
for j=i+1:m
s=s+a(i,j)*x(j); end
x(i)=(a(i,n)-s)/a(i,i); end X
A=[1 1 1 1 1 1 1; 2 1 1 1 1 1 1; 3 2 1 1 1 1 1; 4 3 2 1 1 1 1; 5 4 3 2 1 1 1; 6 5 4 3 2 1 1; 7 6 5 4 3 2 1];
B=[7 8 10 13 17 22 28]'; X=A\B
七、 实验结果与分析
结果与分析:结果:X = 1 1 1 2
1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 X =
1.[**************] 1.[**************] 1.[**************] 1.[**************] 0.[**************] 1.[**************] 0.[**************]
江 西 科 技 师 范 学 院
实 验 报 告
课 程
系 别
班 级
学 号
姓 名
目录
实验一 误差的传播与估计…………………………………… 实验二 拉格朗日插值多项式………………………………… 实验三 变步长复合梯形求积公式…………………………… 实验四 解非线性方程二分法………………………………… 实验五 一元非线性方程的迭代解法………………………… 实验六 列主元高斯消去法……………………………………
每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。实验时必须遵守实验规则。用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备。这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果。请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新。它将推动你在人生奋斗的道路上永往直前!
实验一 误差的传播与估计
一、 实验课程名称 数学实验
二、 试验项目名称 误差的传播与估计 三、 实验目的和要求
理解误差在算术运算中的传播方式及如何在算术运算中控制误差的传播。
四、 实验内容和原理
内容:计算积分E n =⎰0x n e x -1dx
1
(n =1, 2 20)
原理:算术运算中的舍入误差在运算过程中的传播常因算法而异,不同算法的数值稳定性往往差别很大。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)由分部积分法建立两种递推公式:
⎧E n =1-nE n -1
⎪ ⎨1
E =1⎪e ⎩
(n =2, 3 20) ⎧E n -1=(1-E n ) /n
⎪ ⎨1E ≈20⎪21⎩
(n =20, 19 1)
(2)对这两种递推式进行程序实现,分别求出E 1 E 20的值。
1)fprintf(' 当n=%1.0f,E1=%1.15f\n',1/exp(1))
En=1/exp(1);
for n=2:20 En=1-n*En;
fprintf(' 当n=%1.0f,E%1.0f=%1.15f\n',n,n,En) end
结果:
当n=1,E1=0.[**************] 当n=2,E2=0.[**************]
当n=3,E3=0.[**************] 当n=4,E4=0.[**************]
当n=5,E5=0.[**************] 当n=6,E6=0.[**************] 当n=7,E7=0.[**************] 当n=8,E8=0.[**************] 当n=9,E9=0.[**************] 当n=10,E10=0.[**************] 当n=11,E11=0.[**************] 当n=12,E12=0.[**************]
当n=13,E13=0.[**************] 当n=14,E14=0.[**************] 当n=15,E15=0.[**************] 当n=16,E16=0.[**************] 当n=17,E17=0.[**************] 当n=18,E18=0.[**************] 当n=19,E19=-5.[**************] 当n=20,E20=104.[**************]
2)fprintf(' 当n=20,E1=%1.15f\n',1/21)
En=1/21;
for n=20:-1:2 En=(1-En)/n;
fprintf(' 当n=%1.0f,E%1.0f=%1.15f\n',n-1,n-1,En) end
结果:
当n=20,E1=0.[**************] 当n=19,E19=0.[**************] 当n=18,E18=0.[**************] 当n=17,E17=0.[**************] 当n=16,E16=0.[**************] 当n=15,E15=0.[**************] 当n=14,E14=0.[**************] 当n=13,E13=0.[**************] 当n=12,E12=0.[**************] 当n=11,E11=0.[**************]
当n=10,E10=0.[**************] 当n=9,E9=0.[**************] 当n=8,E8=0.[**************] 当n=7,E7=0.[**************] 当n=6,E6=0.[**************] 当n=5,E5=0.[**************] 当n=4,E4=0.[**************] 当n=3,E3=0.[**************] 当n=2,E2=0.[**************] 当n=1,E1=0.[**************]
七:分析:
算术运算中的舍入误差在运算过程中的传播常因算法而异,不同的算法的数值稳定性往往差别很大
实验二 拉格朗日插值多项式
一、 实验课程名称 数学实验
二、 实验项目名称 拉格朗日插值多项式 三、 实验目的和要求
理解插值函数的概念及插值多项式的唯一性,掌握代数插值中拉格朗日插值多项式的基本原理及程序实现。
四、 实验内容和原理
内容:从函数表:
出发,用拉格朗日插值多项式计算f (0. 15), f (0. 31), f (0. 47) 的近似值。
原理:利用n 1个插值节点可构造一个最高次数不超过n 次的代数插值多项式,利用该代数插值多项式可做相应的函数逼近。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码;
(2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
function f=fun4(t) format long
x=[0.0 0.1 0.195 0.3 0.401 0.5];
y=[0.39894 0.39695 0.39142 0.38138 0.36812 0.35206]; s=0; for j=1:i-1 for i=1:6 s3=s3*(x(i)-x(j)); s1=1;s2=1; end for j=1:i-1 for j=i+1:6 s1=s1*(t-x(j)); s4=s4*(x(i)-x(j)); end end for j=i+1:6 q=s3*s4; s2=s2*(t-x(j)); r=p/q; end s=s+r*y(i); p=s1*s2; end s3=1;s4=1; f=s;
结果:
fun4(0.15) ans =
0.[**************] fun4(0.31) ans =
0.[**************] fun4(0.47) ans =
0.[**************]
七、 实验结果与分析:
结果: fun(o、15)=0.[**************] fun(0、31)=0.[**************] Fun(0、47)=0.[**************]
分析:利用n+1个节点可构造不超过n 次袋鼠插值多项式
实验三 变步长复合梯形求积公式
一、 实验课程名称 数学实验
二、 实验项目名称 变步长复合梯形求积公式 三、 实验目的和要求
理解积分数值计算方法的意义,明确数值积分中步长与精度的关系,掌握变步长复合梯形求积公式的程序实现。
四、 实验内容和原理
内容:用变步长复合梯形求积公式计算积分E =⎰0
不超过10-10。
原理:将积分区间逐次分半,每分一次就用同一个复合积分公式算出相应的积分近似值,并利用前后两次计算结果来判断误差是否达到精度要求。
1
4
的近似值,要求误差1+x 2
五、 主要仪器及耗材
计算机与Windows XP系统;
C/VB编译环境。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码; (2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
1)function f=fun2(x)
f=4/(1+x^2);
m=1;h=1;
t1=t(h);t2=t(h/2);
while abs(t1-t2)>1/2*10^(-5) m=m+1; t1=t2;
t2=(4^(m-1)*t(h/2)-t(h))/(4^(m-1)-1); h=h/2; end
2)function f=t(h)
a=0;b=1;n=(b-a)/h;s=0; for k=0:n-1 s=s+fun2(a+k*h); end
f=h/2*(fun2(a)+fun2(b)+2*s);
3)clc
m t2
double(int('4/(1+x^2)',0,1))
3.[**************] ans =
3.[**************]
结果:m = 23 t2 =
七、 实验结果与分析。
结果与分析: m=23 t2=3.[**************] ans=3.[**************] 达到了精度要求。
实验四 解非线性方程的二分法
一、 实验课程名称 数学实验
二、 实验项目名称 解非线性方程的二分法 三、 实验目的和要求
理解二分法的基本思想,掌握二分法的程序实现。
四、 实验内容和原理
内容:用二分法计算方程x 3-x 2-1=0在区间(1, 2) 内根的近似值,要求误差不超过10-6。
原理:将含根区间逐次分半,每分一次判断根所在的子区间,舍去无根区间,保留含根区间,依次类推,直至结果满足精度要求。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码; (2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
1、function f=f(x)
f=x^3-x^2-1;
alpha=(a+b)/2
double(solve('x^3-x^2-1'))
结果:alpha = 1.[**************] ans =
1.[**************] -0.[**************] + 0.[**************]i -0.[**************] - 0.[**************]i
2、a=1;b=2;
while abs(f(a)-f(b))>10^(-6) c=(a+b)/2; if f(a)*f(c)
a=c; b=b; end end
七、 实验结果与分析
结果与分析:alpha=1.[**************] -0.[**************] 0.[**************]i -0.[**************] 0.[**************]
实验五 一元非线性方程的迭代解法
一、 实验课程名称 数学实验
二、 实验项目名称 一元非线性方程的迭代解法
三、 实验目的和要求
通过该综合性实验的基本训练,使学生进一步掌握科学计算方法的基本知识;掌握使用常用计算机语言编程进行数值计算的方法;巩固学生对一元非线性方程的迭代解法的理解及对迭代解法收敛性及收敛速度的理解;提高学生对数值计算中误差分析的能力。
四、 实验内容和原理
内容:用单点迭代法及牛顿迭代法解一元非线性方程x 3-x -1=0在[1,3]内的根,
-6
10要求误差不超过。
原理:迭代法是一种逐次逼近法,这种方法使用某个迭代公式反复校正根的近似值,使之逐步精确化,最后得到满足精度要求的结果。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)建立迭代公式;
(2)选择合适的初值; (3)编程计算;
(4)上机输入和调试所编程序; (5)进行误差分析及收敛性分析; (6)整理出实验报告。
a=1;b=3;
x=(a+b)/2;
y=x^3-x-1;z=3*x^2-1; while abs(y/z)>0.000001 x=x-y/z;
y=x^3-x-1;z=3*x^2-1; end
x
结果: x =
1.[**************]
八、 实验结果与分析
结果: x=1.[**************] ans=1.[1**********]746
分析:这种迭代法仅用于某个迭代公式反复校正根的近似值,使之逐步精确化,最后得到满足精确度要求的结果
实验六 列主元高斯消去法
一、 实验课程名称 数学实验
二、 实验项目名称 列主元高斯消去法 三、 实验目的和要求
理解线性方程组直接解法的基本思想,理解列主元高斯消去法的稳定性条件,掌握列主元高斯消去法的程序实现,体会模块化结构程序设计方法的优点。
四、 实验内容和原理
内容:用列主元消去法求解方程组
⎡1⎢2⎢⎢3⎢
⎢4
⎢5⎢⎢6⎢7⎣
111111⎤⎡x 1⎤⎡7⎤
⎢x ⎥⎢8⎥111111⎥⎥⎢2⎥⎢⎥
211111⎥⎢x 3⎥⎢10⎥
⎥⎢⎥⎢⎥
321111⎥⎢x 4⎥=⎢13⎥ 432111⎥⎢x 5⎥⎢17⎥
⎥⎢⎥⎢⎥
543211⎥⎢x 6⎥⎢22⎥
⎢⎥⎢⎥654321⎥⎦⎣x 7⎦⎣28⎦
要求输出:计算解x ;
原理:在高斯消去法的每一次消元计算之前,在系数矩阵或消元后的低阶矩阵中按照一定的范围选取绝对值最大的数做为主元素,以减少计算过程中舍入误差对解的
影响。
五、 主要仪器及耗材
计算机与Windows 2000/XP系统;Turbo C/Win-TC/VB等软件。
六、 操作方法与实验步骤
步骤:(1)根据实验内容,给出问题的程序代码; (2)上机输入和调试所编程序; (3)调试成功后,整理出实验报告。
a=[1 1 1 1 1 1 1 7;
2 1 1 1 1 1 1 8; 3 2 1 1 1 1 1 10; 4 3 2 1 1 1 1 13; 5 4 3 2 1 1 1 17; 6 5 4 3 2 1 1 22; 7 6 5 4 3 2 1 28]; [m,n]=size(a); x=zeros(m,1); for j=1:n-2
c=max(a(j:m,j)); for i=j:m if a(i,j)==c t=a(j,:);
a(j,:)=a(i,:); a(i,:)=t; end end
for i=j+1:m for p=j+1:n
a(i,p)=a(i,p)-a(i,j)*a(j,p)/a(j,j); end end
for i=j+1:m
a(i,j)=0; end end a;
x(m)=a(m,n)/a(m,m); for i=m-1:-1:1 s=0;
for j=i+1:m
s=s+a(i,j)*x(j); end
x(i)=(a(i,n)-s)/a(i,i); end X
A=[1 1 1 1 1 1 1; 2 1 1 1 1 1 1; 3 2 1 1 1 1 1; 4 3 2 1 1 1 1; 5 4 3 2 1 1 1; 6 5 4 3 2 1 1; 7 6 5 4 3 2 1];
B=[7 8 10 13 17 22 28]'; X=A\B
七、 实验结果与分析
结果与分析:结果:X = 1 1 1 2
1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 X =
1.[**************] 1.[**************] 1.[**************] 1.[**************] 0.[**************] 1.[**************] 0.[**************]