资源描述
实验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之间整数的平方根。
N
1
4
9
16
25
36
49
64
81
100
平方根
1
2
3
4
5
6
7
8
9
10
n= (1:10).^2;
f = sqrt(n);
interp1(n,f,(1:100),'cubic')
3. 某气象观测站测得某日6:00-18:00之间每隔2h的室内外温度(°C)如下表所示。
时间
6
8
10
12
14
16
18
室内温度
18.0
20.0
22.0
25.0
30.0
28.0
24.0
室外温度
15.0
19.0
24.0
28.0
34.0
32.0
30.0
使用三次样条插值分别求出该日室内外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个整数采样点的函数值如下表所示,
x
1
11
21
31
41
51
61
71
81
91
101
lgx
0
1.0414
1.3222
1.4914
1.6128
1.7076
1.7853
1.8513
1.9085
1.9590
2.0043
试求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个多项式,试进行下列操作:
(1) 求。
(2) 求的根。
(3) 当x取矩阵A的每一元素时,求的值。其中:
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 = inline('sqrt(x.^2+1)');
x = 1:3;
dx = diff(f([x,4]))/1
7. 用数值方法求定积分。
(1)的近似值。
(2)
(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)
展开阅读全文