《应用计算方法教程》matlab作业二
《应用计算方法教程》MatLab作业

6-1 试验目的 计算特征值,实现算法试验内容:随机产生一个10阶整数矩阵,各数均在-5和5之间。
(1) 用MATLAB 函数“eig”求矩阵全部特征值。
(2) 用幂法求A 的主特征值及对应的特征向量。
(3) 用基本QR 算法求全部特征值(可用MATLAB 函数“qr ”实现矩阵的QR 分解)。
原理幂法:设矩阵A 的特征值为12n ||>||||λλλ≥⋅⋅⋅≥并设A 有完全的特征向量系12,,,n χχχ⋅⋅⋅(它们线性无关),则对任意一个非零向量0n V R ∈所构造的向量序列1k k V AV -=有11()lim ()k j k k jV V λ→∞-=,其中()k j V 表示向量的第j 个分量。
为避免逐次迭代向量k V 不为零的分量变得很大(1||1λ> 时)或很小(1||1λ< 时),将每一步的k V 按其模最大的元素进行归一化。
具体过程如下:选择初始向量0V ,令1max(),,,1kk k k k k kV m V U V AU k m +===≥,当k 充分大时1111,max()max()k k U V χλχ+≈≈。
QR 法求全部特征值:11111222111,1,2,3,k k k k k A A Q R R Q A Q R k R Q A Q R +++==⋅⎧⎪⋅==⋅⎪=⋅⋅⋅⎨⋅⋅⋅⎪⎪⋅==⋅⎩ 由于此题的矩阵是10阶的,上述算法计算时间过长,考虑采用改进算法——移位加速。
迭代格式:1k k k kk k k k A q I Q R A R Q q I +-=⎧⎨=+⎩ 计算k A 右下角的二阶矩阵()()1,11,()(),1,k k nn n n k k n n n n a a a a ----⎛⎫ ⎪ ⎪⎝⎭的特征值()()1,k k n n λλ-,当()()1,k k n n λλ-为实数时,选k q 为()()1,k k n n λλ-中最接近(),k n n a 的。
matlab课后习题解答第二章doc

f=A*((1+t/tao)*(heaviside(t+tao)-heaviside(t))+(1-t/tao)*(heaviside(t)-heaviside(t-tao)));
(2)数值计算复验
xx=-10*pi:pi/100:1.7*pi;
sn=trapz(exp(-abs(xx)).*abs(sin(xx)))*pi/100
sn =
1.0877
110
〖目的〗
变上限二重积分的符号计算法。
〖解答〗
syms x y
f=x^2+y^2;
r=int(int(f,y,1,x^2),x,1,2)
d =
1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)
16
〖目的〗
symsum, subs的应用。
从实例中,感受指令所给出的关于 符号解的含义。
〖解答〗
symsx k
f=x^(k);
y3d =
1.2935547796148951782413405453553
113
〖目的〗
符号离散卷积直接法和变换法。
〖解答〗
(1)直接法
syms a b kn
x=a^k;
h=b^k;
w=symsum(subs(h,k,n)*subs(x,k,k-n),n,0,k)%据定义
y1=simple(w)
w =
〖解答〗
syms x
syms n positive
matlab程序设计与应用第二版习题答案

matlab程序设计与应用第二版习题答案Matlab程序设计与应用第二版习题答案Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和工程设计等领域。
《Matlab程序设计与应用》是一本经典的教材,对于学习和掌握Matlab编程语言具有重要的意义。
本文将为大家提供《Matlab程序设计与应用第二版》中部分习题的答案,帮助读者更好地理解和应用Matlab。
第一章:Matlab基础1.1 基本操作1. a = 3; b = 4; c = sqrt(a^2 + b^2); disp(c);2. x = linspace(-pi, pi, 100); y = sin(x); plot(x, y);3. A = [1 2 3; 4 5 6; 7 8 9]; B = [9 8 7; 6 5 4; 3 2 1]; C = A + B; disp(C);1.2 控制结构1. for i = 1:10disp(i);end2. n = 0; sum = 0; while sum < 100n = n + 1;sum = sum + n;enddisp(n);3. x = 5; if x > 0disp('x is positive');elseif x < 0disp('x is negative');elsedisp('x is zero');end第二章:向量和矩阵运算2.1 向量运算1. A = [1 2 3]; B = [4 5 6]; C = A .* B; disp(C);2. A = [1 2 3]; B = [4 5 6]; C = A ./ B; disp(C);3. A = [1 2 3]; B = [4 5 6]; C = dot(A, B); disp(C);2.2 矩阵运算1. A = [1 2 3; 4 5 6]; B = [7 8; 9 10; 11 12]; C = A * B; disp(C);2. A = [1 2 3; 4 5 6]; B = [7 8; 9 10; 11 12]; C = B * A; disp(C);3. A = [1 2 3; 4 5 6]; B = [7 8; 9 10; 11 12]; C = A .* B; disp(C); 第三章:函数和脚本文件3.1 函数1. function y = myfunc(x)y = x^2 + 3*x + 2;end2. function [y1, y2] = myfunc(x1, x2)y1 = x1^2 + 3*x1 + 2;y2 = x2^2 + 3*x2 + 2;end3. function [y1, y2] = myfunc(x)y1 = x^2 + 3*x + 2;y2 = sin(x);end3.2 脚本文件1. x = linspace(0, 2*pi, 100); y = sin(x); plot(x, y);2. x = linspace(-10, 10, 100); y = x.^2 + 3*x + 2; plot(x, y);3. x = linspace(0, 2*pi, 100); y1 = sin(x); y2 = cos(x); plot(x, y1, x, y2);通过以上习题的答案,读者可以对Matlab程序设计的基本语法和常用函数有一个初步的了解。
MATLAB综合应用二:线性代数问题的计算机求解.ppt

2020/4/7
高等应用数学问题的 MATLAB 求
30
解
【例4-10】
2020/4/7
高等应用数学问题的 MATLAB 求
31
解
4.2.1.4 矩阵范数
2020/4/7
高等应用数学问题的 MATLAB 求
32
解
2020/4/7
高等应用数学问题的 MATLAB 求
33
解
矩阵的范数定义:
2020/4/7
高等应用数学问题的 MATLAB 求
34
解
2020/4/7
高等应用数学问题的 MATLAB 求
35
解
2020/4/7
高等应用数学问题的 MATLAB 求
36
解
4.2.1.5 特征多项式
2020/4/7
高等应用数学问题的 MATLAB 求
37
解
【例4-11】
2020/4/7
高等应用数学问题的 MATLAB 求
3
解
4.1.1 数值矩阵的输入
4.1.1.1 零矩阵、幺矩阵及单位矩阵
2020/4/7
高等应用数学问题的 MATLAB 求
4
解
【例4-1】
2020/4/7
高等应用数学问题的 MATLAB 求
5
解
4.1.1.2 随机元素矩阵
2020/4/7
高等应用数学问题的 MATLAB 求
6
解
4.1.1.3 对角元素矩阵
42
解
【例4-16】
2020/4/7
高等应用数学问题的 MATLAB 求
43
解
【例4-17】
2020/4/7
计算方法作业2

《计算方法》上机指导书实验1 MATLAB 基本命令1.掌握MATLAB 的程序设计实验内容:对以下问题,编写M 文件。
(1) 生成一个5×5矩阵,编程求其最大值及其所处的位置。
(2) 编程求∑=201!n n 。
(3) 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次反弹有多高?2.掌握MATLAB 的绘图命令实验内容:对于自变量x 的取值属于[0,3π],在同一图形窗口画出如下图形。
(1)1sin()cos()y x x =⋅;(2)212sin()cos()3y 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. 复化求积公式实验内容:对于定积分⎰+=1024dx x xI 。
(1)分别取利用复化梯形公式计算,并与真值比较。
再画出计算误差与n 之间的曲线。
(2)取[0,1]上的9个点,分别用复化梯形公式和复化辛普森公式计算,并比较精度。
实验3 非线性方程与线性方程组1.矩阵的范数与条件数 实验内容:已知矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛------=1111111111111111A 求1A ,2A ,∞A 和)(2A cond 。
2.研究高斯消去法的数值稳定性 实验内容:设方程组b Ax =,其中(1)⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--⨯=-11212592.1121130.6291.51314.59103.0151A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=2178.4617.591b (2)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=201015152699990999999999.23107102A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1500019000000000.582b 分别对以上两个方程组(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的? (2)用列主元消去法求得L 和U 及解向量421,R x x ∈;(3)用不选主元的高斯消去法求得L 和U 及解向量421~,~R x x ∈; (4)观察小主元并分析对计算结果的影响。
wodezuoye2

基于MA TLAB的数值分析编程上机作业(2)姓名:王其学号: S090020798班级:六班院系:石油与天然气工程任课老师:支丽霞编程任务:用MA TLAB 语言编写求解线性方程组Au=f 的算法程序,采用下列三种方法,并比较三种方法的计算速度。
一、用SOR 迭代法求解线性方程组Au=f,用试算法确定最佳松弛因子(1)基本原理松驰法是一种线性加速方法。
这种方法将前一步的结果)(k ix 与高斯――赛得尔方法的迭代值)1(~+k ix 适当进行线性组合,以构成一个收敛速度较快的近似解序列。
改进后的迭代方案是:迭代⎪⎪⎭⎫ ⎝⎛--=∑∑+=+-=+)(1)1(11)1(1~k j ni j ij k ji j ij i ii k i x a xa b a x 加速),,2,1(~)1(1)()1(n i x x x k ik ik i=+-=++ωω所以⎪⎪⎭⎫ ⎝⎛--+-=∑∑+=+-=+)(1)1(11)()1()1(k j ni j ij k ji j ij i ii k ik ix a xa b a xxωω(4.7)这种加速法就是松驰法。
其中系数ω称松驰因子。
可以证明,要保证迭代格式(4.7)收敛必须要求 20<<ω松驰法的矩阵形式的迭代格式为:ωωF xB xk k +=+)()1(其中 ()UIL I B ωωωω+--=-)1()(1bL I F 1)(--=ωωω当ω = 1时,即为高斯――赛得尔迭代法,为使收敛速度加快,通常取1>ω,即为超松驰法。
松驰因子的选取对迭代格式(4.7)的收敛速度影响极大。
实际计算时,可以根据系数矩阵的性质,结合经验通过反复计算来确定松驰因子ω。
(2)算法给出A,b,ω,允许误差界ε,最大迭代次数K,计算步骤如下:)(max(1) x(i)=0 (i=1,2,…,n)(2)对k =1,…,Kmax,循环计算到第(7)步(3)置ER=0对i=1,2,…,n,循环执行到第(6)步(4)sum=0()()j i a⨯sum,= (j=1,2,…,n)+jxsum(5)Dx=ω(b(i)-sum)/a(i,i)(6)如果ERER=Dx>则Dx()()Dx←x+iix如果εER,停机。
matelab作业2参考答案

matelab作业2参考答案Matlab作业2参考答案Matlab作业2是一项综合性的任务,要求学生运用Matlab编程语言解决一系列数学问题。
本文将为大家提供一份参考答案,帮助学生更好地理解和完成这项作业。
首先,我们将讨论作业的第一个问题,即给定一个矩阵A,求解其特征值和特征向量。
在Matlab中,可以使用eig函数来实现这一功能。
例如,假设我们有一个3×3的矩阵A,可以按照以下方式计算其特征值和特征向量:```A = [1 2 3; 4 5 6; 7 8 9];[eigenvectors, eigenvalues] = eig(A);```在上述代码中,变量eigenvectors将存储A的特征向量,而变量eigenvalues 将存储A的特征值。
通过打印这两个变量的值,我们可以得到矩阵A的特征值和特征向量。
接下来,我们将探讨作业的第二个问题,即求解线性方程组。
假设我们有一个3×3的系数矩阵A和一个3×1的常数向量b,我们需要求解方程组Ax=b。
在Matlab中,可以使用backslash运算符来求解线性方程组。
例如,假设我们有以下方程组:```A = [1 2 3; 4 5 6; 7 8 9];b = [10; 20; 30];x = A \ b;```在上述代码中,变量x将存储方程组的解。
通过打印变量x的值,我们可以得到方程组的解。
此外,作业的第三个问题要求学生使用Matlab绘制函数图像。
在Matlab中,可以使用plot函数来实现这一功能。
例如,假设我们要绘制函数y=sin(x),其中x的取值范围为0到2π,可以按照以下方式绘制函数图像:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```在上述代码中,变量x将存储x的取值范围,变量y将存储对应的函数值。
通过调用plot函数,我们可以将函数y=sin(x)的图像绘制出来。
数值计算方法matlab 第二章 求根

1第二章作业问题描述:不同温度的两种流体进入混合器混合,流出时具有相同的温度。
流体A 和B 的热容(单位:cal/(mol ·K))分别为:2623.381 1.80410 4.30010pA c T T --=+⨯-⨯ 1528.592 1.29010 4.07810pB c T T --=+⨯-⨯焓变(单位:cal/mol )为21T p T H c dT ∆=⎰。
A 进入混合器的温度为400℃,B 进入混合器的温度为700℃,A 的量(mol )是B 的量(mol )的两倍,试确定流体离开混合器的温度。
问题分析: 初始情况下,气体A 的温度比气体B 的温度低,故在混合过程中,气体A 温度升高,气体B 温度降低。
由于没有外界加热或者做功,混合气体整体的焓变应该为零。
设A 有2mol ,B 有1mol ,根据焓变公式计算得到:21-262400-22632= 6.762+3.608108.60010)6.762 1.80410 2.867105407.712T TA pA T H c dT T T dTT T T --∆=⨯-⨯=+⨯-⨯-⎰⎰(21-152700-1253=+1.29010 4.07810)0.64510 1.3591032958.030T TB pB T H c dT T T dTT T T --∆=⨯-⨯=+⨯-⨯-⎰⎰(8.5928.592而0A B H H ∆+∆=,故该问题最后变成求解方程2263()15.3548.2541016.4571038365.742f T T T T --=+⨯-⨯-的根的问题。
接下来将采用二分法、试位法以及牛顿法进行改方程的求解。
方程保存为f.m ,可在压缩文件中找到。
一、 二分法二分法的基本思想为,确定有根区间,然后不断将区间二等分,通过判断f(x)的符号,逐步将区间缩小,直到有根区间足够小,便可满足精度要求的近似根。
本例中,可以清楚的得到有根区间为(400,700)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6-1 试验目的计算特征值,实现算法
试验容:随机产生一个10阶整数矩阵,各数均在-5和5之间。
(1) 用MATLAB 函数“eig ”求矩阵全部特征值。
(2) 用幂法求A 的主特征值及对应的特征向量。
(3) 用基本QR 算法求全部特征值(可用MATLAB 函数“qr ”实现矩阵的QR 分解)。
原理
幂法:设矩阵A 的特征值为12n ||>||||λλλ≥⋅⋅⋅≥并设A 有完全的特征向量系12,,,n χχχ⋅⋅⋅(它们线性无关),则对任意一个非零向量0n V R ∈所构造的向量序列1k k V AV -=有11()lim ()k j k k j
V V λ→∞
-=,
其中()k j V 表示向量的第j 个分量。
为避免逐次迭代向量k V 不为零的分量变得很大(1||1λ>时)或很小(1||1λ<时),将每一步的k V 按其模最大的元素进行归一化。
具体过程如下:
选择初始向量0V ,令1max(),,,1k
k k k k k k
V m V U V AU k m +===≥,当k 充分大时1111,max()max()
k k U V χλχ+≈
≈。
QR 法求全部特征值:
111
11222
111
,1,2,3,k k k k k A A Q R R Q A Q R k R Q A Q R +++==⋅⎧⎪⋅==⋅⎪=⋅⋅⋅⎨
⋅⋅⋅⎪⎪⋅==⋅⎩ 由于此题的矩阵是10阶的,上述算法计算时间过长,考虑采用改进算法——移位加速。
迭
代格式如下:
1
k k k k
k k k k A q I Q R A R Q q I +-=⎧⎨
=+⎩ 计算k A 右下角的二阶矩阵()
()
1,1
1,()
(),1
,k k n
n n n k k n n n n a a a a ----⎛⎫ ⎪ ⎪⎝⎭
的特征值()()1,k k n n λλ-,当()()1,k k n n λλ-为实数时,选k q 为()()1,k k n n λλ-中最接近(),k n n a 的。
程序
界面(1)
(2)
(3)
作业七
7-1 试验目的:熟悉代数插值
试验容:已知在f(x)在7个点的函数值如下表所示,分别使用拉格朗日插值法和牛顿插值法
拉格朗日插值多项式:
01110011100()()()()()
()()()()()()()n
j j n n j
j j j j j j j j n n
n
i
j
j i j i
i j
x x x x x x x x x x L x y x x x x x x x x x x x x y x x -+=-+==≠-
-⋅⋅⋅
--⋅⋅⋅-=--⋅⋅⋅--⋅⋅⋅--=-∑
∑∏
牛顿插值多项式:
001001201001()()[,]()[,,]()()[,,]()()
n n n N x f x f x x x x f x x x x x x x f x x x x x x -=+-+--+⋅⋅⋅+⋅⋅⋅-⋅⋅⋅-
其中00011()
[,,]()()()()
k
j k j j j j j j j k f x f x x x x x x x x x x =-+⋅⋅⋅=-⋅⋅⋅--⋅⋅⋅-∑。
程序
界面
作业八
8-1 试验目的:熟悉最小二乘法拟合多项式 试验容:给定数据点(
x ,y ), 用3次最小二乘多项式拟合数据,并求平方误差。
原理
要作三次最小二乘拟合,令00112233()()()()(),()j j S x a x a x a x a x x x ϕϕϕϕϕ=+++=,计算法方程
Ga d =,其中000101011101(,)(,)(,)(,)(,)(,)(,)(,)(,)n n n n n n G ϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕϕ⋅⋅⋅⎛⎫ ⎪⋅⋅⋅ ⎪=
⎪⋅⋅⋅⋅⋅⋅⋅⋅⋅ ⎪⋅⋅⋅⎝⎭,01n a a a a ⎛⎫ ⎪ ⎪= ⎪⋅⋅⋅ ⎪⎝⎭,12n d d d d ⎛⎫ ⎪ ⎪= ⎪⋅⋅⋅ ⎪⎝⎭
,
0(,)()()(),(,0,1,,),()1(,)()()(),(0,1,,)
m j k i j i k i i i m
k k i i k i
i x x x j k n x d
f x f x x k n ϕϕωϕϕωϕωϕ==⎧==⋅⋅⋅⎪⎪=⎨⎪===⋅⋅⋅⎪⎩∑∑。
其平方误差为20
()[()()]m
i i i i s x S x f x ω==-∑。
程序
界面
作业九
9-1 试验目的:熟悉数值积分公式,掌握数值计算定积分的方法 试验容:采用不同方法数值计算积分
1
0ln(1)x dx x +⎰
编写复合梯形公式和复合Simpson 公式通用子程序,分别采用4,8,16,32,64等分区间计算。
原理
复合梯形公式:将区间[a,b]作n 等分,b a
h n
-=,结点(0)i x a ih i n =+≤≤,
1
1
101
[()()][()2()()]22n n n i i i i i h h
T f x f x f a f x f b --+===+=++∑∑
复合Simpson 公式:将区间[a,b]作2n 等分,记2b a
h n
-=
,
111
222122212001
[()4()()][()4()2()()]33n n n n i i i i i i i i h h
S f x f x f x f a f x f x f b ---+++====++=+++∑∑∑
作业十
10-1 试验目的:学会用Euler 法、改进Euler 法、经典的4阶Runge-Kutta 法求解常微分方程初值问题。
试验容:分别用
1) Euler 法(步长h=0.025) 2) 改进Euler 法(步长h=0.05) 3) 4阶Runge-Kutta (步长h=0.1) 求解下面的初值问题: (1)(3),02y y y x '=-++≤≤ 比较公共节点解的误差。
精确解为2132(1)x y e --=-++。
原理
Euler 法:令(,())()f x y x y x '=,1(,)n n n n y y hf x y +=+(b a
n h
-=
)。
改进Euler法(梯形公式):
1
21 112
(,)
(,)
()
2
n n
n n
n n
k f x y
k f x h y hk
h
y y k k
+
⎧
⎪=
⎪
=++
⎨
⎪
⎪=++
⎩
4阶Runge-Kutta:
1
21
32
43
11234
(,)
1
(,)
22
1
(,)
22
(,)
1
(22)
6
n n
n n
n n
n n
n n
k hf x y
h
k hf x y k
h
k hf x y k
k hf x h y k
y y k k k k +
=
⎧
⎪
⎪=++
⎪
⎪⎪
=++
⎨
⎪
=++
⎪
⎪
⎪=++++
⎪⎩
程序
界面。