《现代数值计算方法(MATLAB版)》习题解答
MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。
(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。
(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
数值计算与MATLAB第二章

第二章非线性方程求根习题2-11. 试寻找f(x)= x 3+6.6 x2-29.05 x +22.64=0的实根上下界,及正根所在的区间,区间长度取1。
解:由笛卡儿符号规则知,f(x)=0可能有二个正根或无正根f(-x)= -x 3+6.6 x2+29.05 x +22.64=0即x 3 -6.6 x2-29.05 x -22.64=0f(-x)=0有一个正根,因此,f(x)=0有一个负根。
由定理2-3,f(x)=0的正根上界f(x)=0的负根下界x0123456 6.39f(x)++-+++++正根所在区间为(1, 2),(2, 3)。
2.你能不利用多项式的求导公式,而借鉴于余数定理的思想,构造出P n(x)=a0x n+a1x n-1+...+a n-1x+a n在x0这点上的导数值的算法吗?习题2-21.用二分法求方程x2-x-1=0的正根,要求准确到小数点后第一位a F(a)b F(b)x F(x)0-1211-11-121 1.5-0.251.5-0.2521 1.750.31251.5-0.25 1.750.3125 1.6250.3015625 1.5-0.25 1.6250.015625 1.5625-0.12109375 1.5625-0.12104375 1.6250.015625 1.59375-0.053710937 1.59375-0.053710937 1.6250.015625 1.609375-0.019287109 1.609375-0.019287109 1.6250.015625 1.6171875-0.001892089 1.6171875-0.001892089 1.6250.015625 1.621093750.006851196 1.6171875-0.001892089 1.621093750.006851196 1.6191406250.002175738 1.6171875-0.001892089 1.619140620.002475738 1.6181640630.000290904X*=1.618K=5X*=1.593752.试证明用试位法(比例求根法),求在区间[0, 1]内的一个根必然收敛。
实验6答案Matlab数值计算

实验6 Matlab数值计算实验目的:1、掌握数据统计与分析的方法;2、掌握数据插值和曲线拟合的方法及其应用;3、掌握多项式的常用运算。
实验内容:1.利用randn函数生成符合正态分布的10×5随机矩阵A,进行如下操作:(1)求A的最大元素和最小元素;(2)求A的每行元素的和以及全部元素的和;(3)分别对A的每列元素按升序、每行元素按降序排列。
a = randn(10,5)+10;ma = max(max(a))mi = min(min(a))s = sum(a,2)sa = sum(sum(a))p = sort(a)p1 = -sort(-a,2)2.用3次多项式方法插值计算1-100之间整数的平方根。
f = sqrt(n);interp1(n,f,(1:100),'cubic')3.某气象观测站测得某日6:00-18:00之间每隔2h的室内外温度(°C)如下表所示。
使用三次样条插值分别求出该日室内外6:30-17:30之间每隔2h 各点的近似温度,并绘制插值后的温度曲线。
n= 6:2:18;f1 = [18 20 22 25 30 28 24]; f2 = [15 19 24 28 34 32 30]; r = 6.5:2:17.5;w = interp1(n,f1,r,'spline'); w1 = interp1(n,f2,r,'spline'); subplot(211),plot(r,w) subplot(212),plot(r,w1)4. 已知lgx 在[1,101]区间10个整数采样点的函数值如下表所示,试求lgx 的5次拟合多项式p(x),并绘制lgx 和p(x)在[1,101]区间的函数曲线。
x = linspace(1,101,10); y = log(x) /log(10); p = polyfit(x,y,5) y1 = polyval(p,x) plot(x,y,':o',x,y1,'-*') legend('sin(x)','fit')5. 有3个多项式(),(),()P x x x x P x x P x x x =+++=+=++4322123245223,试进行下列操作:(1) 求()()()()P x P x P x P x =+123。
现代数值计算方法(MATLAB版)第3章(2)

数计学院
16/16
ak ck−1 |¯ bk | = bk − ck−1 ≥ |bk | − |ak | · > |bk | − |ak | > 0, bk−1 bk−1 bk = 0, k = 2, · · · , n. , .
Back Close
福建师范大学
数计学院
10/16
MATLAB >> A=[2 -1 4 -3 1;-1 1 2 1 3;4 2 3 3 -1; -3 1 3 2 4; 1 3 -1 4 4]; >> b=[11 14 4 16 18]’; >> x=magauss2(A,b); x’
Back Close
x = 1.0000 §3.3 , b1 c1 a2 b 2 c 2 ... ... ... an−1 bn−1 cn−1 an b n Gauss x1 x2 . . . xn−1 xn d1 d2 = . . . dn−1 dn . 2.0000 1.0000 -1.0000 4.0000
(3.8)
福建师范大学
数计学院
13/16
(3.9)
Back Close
function x= machase(a,b,c,d) % % % % : : x= machase(a,b,c,d) b d ,x , c Ax=d a ,
14/16
,
福建师范大学
数计学院
n=length(a); for k=2:n b(k)=b(k)-a(k)/b(k-1)*c(k-1); d(k)=d(k)-a(k)/b(k-1)*d(k-1); end x(n)=d(n)/b(n); for k=n-1:-1:1 x(k)=(d(k)-c(k)*x(k+1))/b(k);
现代数值分析

研硕16《化工数值方法及Matlab应用》试题班级姓名成绩1.(15分)数值计算方法的主要研究对象有哪些?其常用基本算法主要包括哪三个方面?举例说明Matlab在解决化工数值计算问题方面有什么样实用价值?答:(1)数值计算方法的主要研究对象为非线性方程求根,插值法、曲线拟合、数值积分、常微分方程(组)、初值问题求解、线性和非线性方程组求解。
(2)基本算法包括①离散化方法:用差商代替导数、差分代替微分等,将连续的数学问题转化为离散问题。
②逼近方法:用简单函数的值近似代替求解困难或形式未知的复杂函数的值。
③迭代法:用一个固定公式反复计算,对较为粗糙的根的近似值进行加工直到满足精度要求的方法。
(3)Matlab在解决化工数值计算问题的实用价值有:数值计算和符号计算功能;图形功能;MATLAB语言;功能性和学科性工具箱。
2.(10分)数值计算中的“曲线拟合”,一般有哪些方法?请至少指出四种,并简述各自的基本特点。
答:(1)拉格朗日插值:,优点在于不要求数据点事等间隔的,缺点是数据点不易过多,当数据比较多时,差值函数有偏离原函数的风险;(2)牛顿插值法:它不仅克服了“增加一个节点时整个计算工作必须重新开始”的缺点,而且可以节省乘、除法运算次数。
同时,在牛顿插值多项式中用到的差分与差商等概念,又与数值计算的其他方面有着密切的关系。
(3)牛顿迭代法:牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。
(4)区间二分法:优点:算法简单,容易理解,且总是收敛的。
缺点:收敛速度太慢,浪费时间,二分法不能求复根跟偶数重根。
(5)最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。
利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。
3. (15分)在298K 下,化学反应 2OF 2=O 2+2F 2 的平衡常数为0.410 atm ,如在298K 下将OF 2 通入容器,当t=0 时为1 atm ,问最后总压是多少?取计算精度为10-3。
现代数值数学和计算课后答案下载

现代数值数学和计算课后答案下载《现代数值数学和计算》是xx年同济大学出版社出版的图书,作者是同济大学计算数学教研室。
以下是为大家的现代数值数学和计算,仅供大家参考!出版时间: xx-07-01版次: 1页数: 284装帧:平装开本: 16开所属分类:图书>教材教辅>大学教材教辅《现代数值数学和计算》以MatLab语言及编程为根底介绍常用的数值计算方法及有关的根底理论,主要内容包括科学计算MatLab、多项式插值与样条插值、函数逼近、数值积分与数值微分、线性方程组的直接解法、线性方程组的迭代解法、非线性方程求解、矩阵的特征值和特征向量的计算及常微分方程数值解等9章。
《现代数值数学和计算》每章后面都有评注、习题,并配有计算机实习题通过编程做题,大大提高学生解决实际问题的能力。
《现代数值数学和计算》内容由浅入深、通俗易懂、易于教学、便于自学,可作为数学专业和工科各专业大学生、研究生的教材,也可供工程技术人员作为自学参考书。
前言第一章科学计算与MatLab第一节科学计算的意义第二节误差根底知识第三节数值计算应注意的问题第四节 MatLab简介第二章多项式插值与样条插值第一节多项式插值第二节拉格朗日(Langrange)插值第三节牛顿(Newton)插值第四节埃尔米特(Hermite)插值第五节三次样条插值第三章函数逼近第一节内积与正交多项式第二节最正确一致逼近与切比雪夫展开第三节最正确平方逼近第四节曲线拟合的最小二乘法第四章数值积分与数值微分第一节引言第二节插值型救积分式第三节牛顿-柯特斯(Newton-Cotes)及其复合求积公式第四节变步长算法第五节高斯型求职公式第六节奇异与振荡积分的计算第七节二重积分的计算第八节数值微分第五章线性方程组的直接解法第一节高斯消去法第二节量化的列主元素调节斯消去法第三节矩阵的三角分解第六章线性方程组的迭代解法第一节根本迭代法第二节范数及方程组的性态和条件数第三节迭代的收敛性分析与误差估计第四节基于变分原理的迭代法第七章非线性方程求解第一节数值求值的根本问题第二节二分法第三节不动点迭代第四节迭代的加速收敛的方法第五节牛顿法第六节割线法第七节非线性方程组迭代法简介第八节拟牛顿法简介第八章矩阵的特征值和特征向量的计算第一节引言第二节乘幂法与反幂法第三节QR方法第四节雅可比方法第九章常微分方程数值解第一节引言第二节数值积分与多步方法第三节泰勒展开与龙格一库塔方法第四节收敛性与稳定性第五节刚性方程组的数值方法第六节用微分求积法解初值问题与边值问题参考书目1.2.3.4.。
Matlab习题及答案

现代计算方法Matlab 作业答案1.绘出函数f(x)=sin x x ,在[0,4]上的图形解:在M 文件输入:x=0:pi/100:4;y=x.*sin(x);plot(y)运行2. 求3x +2x +5 = 0的根解:在命令窗口输入:>> solve('x^3+2*x+5=0')ans =((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3) - 2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3))1/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) - ((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)/2 -(3^(1/2)*i*(2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) + ((108^(1/2)*707^(1/2))/108 -5/2)^(1/3)))/21/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) - ((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)/2 +(3^(1/2)*i*(2/(3*((108^(1/2)*707^(1/2))/108 - 5/2)^(1/3)) + ((108^(1/2)*707^(1/2))/108 -5/2)^(1/3)))/23.321436min x x x z ++=120..321=++x x x t s301≥x5002≤≤x203≥x解:运用单纯形法计算此题,首先把约束条件化成标准形式:,,,,,205030120654321635241321≥=-=+=-=++x x x x x x x x x x x x x x x(1)在M 文件输入SimpleMthd 函数:function [x,minf] = SimpleMthd(A,c,b,baseVector)sz = size(A);nVia = sz(2);n = sz(1);xx = 1:nVia;nobase = zeros(1,1);m = 1;for i=1:nViaif (isempty(find(baseVector == xx(i),1)))nobase(m) = i;m = m + 1;else;endendbCon = 1;M = 0;while bConnB = A(:,nobase);ncb = c(nobase);B = A(:,baseVector);cb = c(baseVector);xb = inv(B)*b;f = cb*xb;w = cb*inv(B);for i=1:length(nobase)sigma(i) = w*nB(:,i)-ncb(i);end[maxs,ind] = max(sigma);if maxs <= 0minf = cb*xb;vr = find(c~=0 ,1,'last');for l=1:vrele = find(baseVector == l,1);if (isempty(ele))x(l) = 0;elsex(l)=xb(ele);endendbCon = 0;elsey = inv(B)*A(:,nobase(ind));if y <= 0disp('不存在最优解!');x = NaN;minf = NaN;return;elseminb = inf;chagB = 0;for j=1:length(y)if y(j)>0bz = xb(j)/y(j);if bz<minbminb = bz;chagB = j;endendendtmp = baseVector(chagB);baseVector(chagB) = nobase(ind);nobase(ind) = tmp;endendM = M + 1;if (M == 1000000)disp('找不到最优解!');x = NaN;minf = NaN;return;endend(2)在命令窗口输入:clear allA=[1 1 1 0 0 0;1 0 0 -1 0 0;0 1 0 0 1 0;0 0 1 0 0 -1];c=[6 3 4 0 0 0];b=[120;30;50;20];[xm,mf]=SimpleMthd(A,c,b,[3 4 5 6])xm =0 50 70mf =4304.计算下面函数在区间(0,1)内的最小值。
现代数值计算方法与习题解答

习题一6、解:设正方形的边长为x ,则其面积为x 2,由题设知x 的近似值为x *。
记y *为y 的近似值,则E (y *)= y- y *= 2 x *(x- x *)= 20(x-x *)= 20E (x *)≤0.1 所以E (x *)= 0.005cm12、解:因为y 。
= 2,*0y = 1.41,所以*0y-y ≤12⨯210- =δ 于是有*11y y -=**00010y 110y 110y y 10--+=-≤0δ *22y y -=**2111110y 110y 110y y 10--+=-≤δ 类推有*10101010y y -≤δ=81102⨯ 即计算到10y ,其误差限为1010δ,亦即若在0y 处有误差限为δ,则 10y 的误差将扩大1010倍,可见这个计算过程是不稳定的。
习题二2、解:第一步:计算U 的第一行,L 的第二行,得116u = 122u = 131u = 141u =- 21211113l a u == 31311116l au == 41411116l a u ==-第二步:计算U 的第二行,L 的第二列,得22222112232321132424211432323112224242411222102/31/3()1/5()1/10u a l u u a l u u a l u l a l u u l a l u u =-==-==-==-==-=第三步:计算U 的第三行,L 的第三列,得33333113322334343114322443434113422333444441144224433437/109/10()/9/37U 955/370u a l u l u u a l u l u l a l u l u u u a l u l u l u =--==--=-=--=-=---=第四步:计算的第四行,得从而,6211241011411013-⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥--⎣⎦=100062111100010321161100110161109371000955370-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦由LY=b,解得Y=(6,-3,23/5,-955/370)T 由UX=Y ,解得X=(1,-1,1,-1)T 。