计算方法作业3(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算方法》上机指导书
实验1 MATLAB 基本命令
1.掌握MATLAB 的程序设计
实验内容:对以下问题,编写M 文件。
(1) 生成一个5×5矩阵,编程求其最大值及其所处的位置。 (2) 编程求∑=20
1!n n 。
(3) 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在
第10次落地时,共经过多少米?第10次反弹有多高?
2.掌握MATLAB 的绘图命令
实验内容:对于自变量x 的取值属于[0,3π],在同一图形窗口画出如下图形。 (1)1sin()cos()y x x =⋅;
(2)21
2sin()cos()3
y x x =-;
实验2 插值方法与数值积分
1. 研究人口数据的插值与预测
实验内容:下表给出了从1940年到1990年的美国人口,用插值方法推测1930年、1965年、2010年人口的近似值。
美国人口数据
1930年美国的人口大约是123,203千人,你认为你得到的1965年和2010年的人口数字精确度如何?
2.最小二乘法拟合经验公式
实验内容:某类疾病发病率为y ‰和年龄段x (每五年为一段,例如0~5岁为第一段,6~10岁为第二段……)之间有形如bx ae y =的经验关系,观测得到的数据表如下
(1)用最小二乘法确定模型bx ae y =中的参数a 和b 。 (2)利用MATLAB 画出离散数据及拟合函数bx ae y =图形。
3.复化求积公式
实验内容:对于定积分⎰
+=1
02
4dx x x
I 。
(1)分别取利用复化梯形公式计算,并与真值比较。再画出计算误差与n 之间的曲线。 (2)取[0,1]上的9个点,分别用复化梯形公式和复化辛普森公式计算,并比较精度。
实验3 非线性方程与线性方程组
1.矩阵的范数与条件数 实验内容:已知矩阵
⎪⎪⎪⎪⎪⎭
⎫
⎝⎛------=1111111111111111A 求1A ,2A ,∞A 和)(2A cond 。
2.研究高斯消去法的数值稳定性 实验内容:设方程组b Ax =,其中
(1)⎥⎥⎥
⎥⎥⎦⎤
⎢⎢
⎢⎢
⎢
⎣⎡--⨯=-11212592.1121130.6291
.513
14
.59103.015
1A ,⎥
⎥⎥⎥
⎦⎤⎢⎢⎢
⎢⎣⎡=2178.4617.591b (2)⎥⎥⎥⎥⎦⎤⎢
⎢⎢
⎢⎣⎡----=2010
1515269999
0999999999.2310
710
2A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=15
00019000000000.582b 分别对以上两个方程组
(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的? (2)用列主元消去法求得L 和U 及解向量421,R x x ∈;
(3)用不选主元的高斯消去法求得L 和U 及解向量421~,~
R x x ∈; (4)观察小主元并分析对计算结果的影响。
3. 求解非线性方程,比较不同方法的计算量
实验内容:比较求0210=-+x e x 的根到三位小数所需的计算量: (1)在区间[0,1]内用二分法;
(2)用迭代法10/)2(1k x k e x -=+,初值00=x ; (3)用牛顿迭代法,取初值00=x 。
《计算方法》上机实验报告
姓名: 陶成川 学号: U201410820 班级: 机械09
一、 问题
1.矩阵的范数与条件数 实验内容:已知矩阵
⎪⎪⎪⎪⎪⎭
⎫
⎝⎛------=1111111111111111A 求1A ,2A ,∞A 和)(2A cond 。
2.研究高斯消去法的数值稳定性 实验内容:设方程组b Ax =,其中
(1)⎥⎥⎥
⎥⎥⎦⎤⎢⎢
⎢⎢
⎢
⎣⎡--⨯=-11212592.1121130.6291
.513
14
.59103.015
1A ,⎥
⎥⎥⎥
⎦⎤
⎢⎢⎢
⎢⎣⎡=2178.4617.591b (2)⎥⎥⎥⎥⎦⎤⎢
⎢⎢
⎢⎣⎡----=2010
1515269999
0999999999.2310
710
2A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=15
00019000000000.582b 分别对以上两个方程组
(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的? (2)用列主元消去法求得L 和U 及解向量421,R x x ∈;
(3)用不选主元的高斯消去法求得L 和U 及解向量421~,~R x x ∈; (4)观察小主元并分析对计算结果的影响。
3. 求解非线性方程,比较不同方法的计算量
实验内容:比较求0210=-+x e x 的根到三位小数所需的计算量: (1)在区间[0,1]内用二分法;
(2)用迭代法10/)2(1k x k e x -=+,初值00=x ; (3)用牛顿迭代法,取初值00=x 。
二、Matlab程序
1.
A=[1 1 1 1;
-1 1 -1 1;
-1 -1 1 1;
1 -1 -1 1];
a1=norm(A,1);
a2=norm(A);
a3=norm(A,inf);
B=inv(A);
a4=norm(B);
a5=a2*a4;
fprintf('||A||1 is %d\n',a1); fprintf('||A||2 is %f\n',a2); fprintf('||A|| is %d\n',a3); fprintf('cond2(A) is %f\n',a5);
2.
(1)A=[3e-16 59.41 3 1;
5.291 -
6.130 -1 2;
11.2 9 5 2;
1 2 1 1];
aA=cond(A,2)
B=[10 -7 0 1;
-3 2.099999999999999 6 2;
5 -1 5 -1;
0 1 0 2];
aB=cond(B,2)
(2)%构造函数
function x=gauss1(A,b)
A=[A';b]',
n=length(b);