实验6答案 Matlab数值计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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 =+++=+=++4322
123245223,试进
行下列操作:
(1) 求()()()()P x P x P x P x =+123。 (2) 求()P x 的根。
(3) 当x 取矩阵A 的每一元素时,求()P x 的值。其中:
.....A --⎡⎤
⎢⎥=⎢⎥
⎢⎥⎣⎦
112140752350525
p1 = [1 2 4 0 5];
p2 = [0 0 0 1 2];
p3 = [0 0 1 2 3]; p = p1 +p2 +p3 r = roots(p)
a = [-1 1.2 -1.4;0.75 2 3.5;0 5 2.5]; s = polyval(p,a)
6. 求函数在指定点的数值导数。
(),,f x x ==123 f = inline('sqrt(x.^2+1)'); x = 1:3;
dx = diff(f([x,4]))/1
7. 用数值方法求定积分。
(1)I π
=⎰
210
的近似值。
(2)ln()x I dx x +=
+⎰1
22011
(1)I = inline('sqrt((cos(t)).^2+4*sin(2*t).^2+1)','t');
quad(I,0,2*pi)
(2)I = inline('log(1+x)./(1+x.^2)','x'); quad(I,0,1)