- 9
- 0
- 约5.29千字
- 约 10页
- 2017-10-06 发布于重庆
- 举报
数值积分与线性方程组的解法
华 北 科 技 学 院
上 机 报 告
系(部) 建筑工程学院
专业、班级 测绘B112
姓名 学号 201105064226
课程名称 数值分析
上机题目 数值积分与线性方程组的解法
任课教师 李慧
指导教师 李慧
成绩(优、良、中、及格、不及格)
华 北 科 技 学 院 基 础 部
一.实验目的:
1)熟悉求解线性方程组以及数值积分的有关理论和方法;
2)会编制列主元消去法、LU分解法、平方根法、 追赶法以及雅可比迭代和高斯-塞德尔迭代法的程序;
通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法,体会各种方法的精确度。
二.实验内容:
1.数值积分
梯形公式、辛普森公式、复化求积公式;
2.线性方程组求解
(1)高斯消去法、追赶法;
(2)雅可比迭代法、高斯塞德尔迭代法。
三、实验步骤与分析
1.数值积分的几种方法:
题目:已知积分精确值I=4.006994,分别用复化题型公式和复化辛普森公式计算其值。
I=dx
(1)function I=trapez_v(f,h)
I=h*(sum(f)-(f(1)+f(length(f)))/2);
功能:复化求积公式进行函数积分
调用格式:I=trapez_v(f,h)
%f:等距节点上的函数值序列
%h:步长
程序如下:
clear
lexact=4.006994;
a=0;b=2;
fprintf(\n Extended Trapezoidal Rule\n);
fprintf( n I Error\n);
n=1;
for k=1:6,n=2 * n;
h=(b-a)/n;i=1:n+1;
x=a+(i-1)*h; f=sqrt(1+exp(x));
I=trapez_v(f,h);
I=h*(sum(f)-(f(1)+f(length(f)))/2);
fprintf(%3.0f %10.5f %10.5f\n,n,I,Iexact-I);
end
结果:
Extended Trapezoidal Rule
n I Error
2 4.08358 -0.07659
4 4.02619 -0.01919
8 4.01180 -0.00480
16 4.00819 -0.00120
32 4.00729 -0.00030
64 4.00707 -0.00008
(2).复化辛普森公式
代码:
M文件:
function I=Simps_v(f,h)
n=length(f)-1;
if n==1,...
fprintf(Data has only one interval),return;
end
if n==2,...
I=h/3*(f(1)+4*f(2)+f(3));
return;end
I=0;
if n==3,...
I=3/8*h*(f(1)+3*f(2)+3*f(3)+f(4));
return;end
I=0;
if 2*floor(n/2)~=n,
I=3/8 * h * (f(n-2)+3*f(n-1)+3*f(n)+f(n+1));
m=n-3;
else
m=n;
end
I=I+(h/3)*(f(1)+4*sum(f(2:2:m))+f(m+1));
if m2,I=I+(h/3)*2*sum(f(3:2:m));
end
function I=Simps_n(f_name,a,b,n)
h=(b-a)/n;
x=a+(0:n)*h;
f=feval(f_name,x);
I=Simps_v(f,h)
调用格式为: I=Simps_n(f_name,0,2,20)
结果为:
I=
4.0070
2.线性方程组的数值解法
(1)高斯消去法
题目: =
代码:
M文件:
function x = gauss(A, b)
n = length(b);
for k = 1 : n-1
if A(k,k)==0
原创力文档

文档评论(0)