《数学实验》报告
实验名称 matlab
学 院
专业班级
姓 名
学 号
20##年 5月
一、 【实验目的】
1.熟练掌握matlab中多项式拟合和多项式插值的操作方法;
2.了解几种常用的插值方法.
二、 【实验任务】
完成pg133,第七题,第八题,第十二题.
三、 【实验程序】
1.程序段:
x=0:0.5:6;
y=cos(x);
p2=polyfit(x,y,2);
p3=polyfit(x,y,3);
p4=polyfit(x,y,4);
p6=polyfit(x,y,6);
f2=poly2str(p2,'x')
f3=poly2str(p3,'x')
f4=poly2str(p4,'x')
f6=poly2str(p6,'x')
x1=0:0.1:6;
y1=cos(x1);
y2=polyval(p2,x1);
y3=polyval(p3,x1);
y4=polyval(p4,x1);
y6=polyval(p6,x1);
plot(x1,y1,'-',x1,y2,'k-',x1,y3,'k-',x1,y4,'g-',x1,y6,'y-');
legend('原函数','二次拟合','三次拟合','四次拟合','六次拟合')
2.程序段:
x=[0.1,0.3,0.4,0.55,0.70,0.80,0.95];
y=[15,18,19,21,22.6,23.8,26];
p1=polyfit(x,y,1);
p3=polyfit(x,y,3);
p5=polyfit(x,y,5);
f1=poly2str(p1,'x')
f3=poly2str(p3,'x')
f5=poly2str(p5,'x')
x1=0.1:0.01:0.95;
y1=polyval(p1,x1);
y3=polyval(p3,x1);
y5=polyval(p5,x1);
plot(x,y,'r*',x1,y1,'b-',x1,y3,'k-',x1,y5,'g-');
legend('拟合点','二次拟合','三次拟合','五次拟合')
3.程序段:
clear
[x,y]=meshgrid(-3:0.5:3);
z=x.^2/16-y.^2/9;
[x1,y1]=meshgrid(-3:0.1:3);
z1=x1.^2/16-y1.^2/9;
figure(1)
subplot(1,2,1),mesh(x,y,z),title('数据点')
subplot(1,2,2),mesh(x1,y1,z1),title('原函数图象')
[xi,yi]=meshgrid(-3:0.125:3);
zi1=interp2(x,y,z,xi,yi,'*nearest');
zi2=interp2(x,y,z,xi,yi,'*linear');
zi3=interp2(x,y,z,xi,yi,'*spline');
zi4=interp2(x,y,z,xi,yi,'*cubic');
figure(2)
subplot(2,2,1),mesh(xi,yi,zi1),title('最近点插值')
subplot(2,2,2),mesh(xi,yi,zi2),title('线性插值')
subplot(2,2,3),mesh(xi,yi,zi3),title('样条插值')
subplot(2,2,4),mesh(xi,yi,zi4),title('立方插值')
四、 【实验结果】
1.
拟合函数:
f2 = 0.21991 x^2 - 1.3587 x + 1.3604
f3 =0.012955 x^3 + 0.10332 x^2 - 1.0898 x + 1.2535
f4 = -0.02582 x^4 + 0.3228 x^3 - 1.0632 x^2 + 0.33211 x + 0.9796
f6 =0.00099971 x^6 - 0.018797 x^5 + 0.10766 x^4 - 0.11803 x^3 - 0.39891 x^2
- 0.031395 x + 1.0003
图像:
由图像可以直观地看出阶数越高,拟合的效果就越好.
2.
拟合函数;
f1 =12.5503 x + 13.9584
f3 =8.9254 x^3 - 14.6277 x^2 + 19.2834 x + 13.2132
f5 =146.1598 x^5 - 386.879 x^4 + 385.5329 x^3 - 178.8558 x^2 + 49.9448 x
+ 11.4481
图像:
3.图像:
由拟合图像可以看出样条插值和立方插值的效果最好,线性插值次之,最近点插值效果最差.
五、 【实验总结】
1.matlab可以十分方便地完成多项式拟合和多项式插值.
2.可以选用不同的插值方法,插值效果有差异.
第二篇:北京科技大学数学实验报告---第4次
《数学实验》报告
实验名称 MATLAB基础知识
学 院
专业班级
姓 名
学 号
20##年5 月
一、 【实验目的】
1、掌握MATLAB线性代数相关运算;
2、掌握矩阵的基本运算、特征值、特征向量和线性方程组的求解;能熟练运用数值方法求定积分
3、运用MATLAB求积分。
二、 【实验任务】
完成P114 第12题、第14题、第21(1)题;P167 第17(2)题、第18题
三、 【实验程序】
1. P114 第12题:
a=magic(6)
a’
det(a)
rank(a)
rref(a)
2. P114第14题:
A=[2,1,1;1,2,1;1,1,2]
[V,D]=eig(A)
p=poly(A)
poly2str(p,'X')
3. 第21(1)题:
A=[1 1 2 1;-1 1 3 0;2 -3 4 -1];
rref(A)
4. P167 第17(2)题
x=0:pi/50:pi;
y=(x.*(sin(x)))./(1+(cos(x)).^2);
s1=sum(y(1:50))*(pi/50)
s2=sum(y(2:51))*(pi/50)
s3=trapz(x,y)
s4=quad('(x.*(sin(x)))./(1+(cos(x)).^2)',0,pi)
5. P167第18题:
x=0:pi/50:pi/4;
y=1./(1-sin(x));
s1=sum(y(1:12.5))*(pi/50)
s2=sum(y(2:13.5))*(pi/50)
s3=trapz(x,y)
s4=quad('1./(1-sin(x))',0,pi/4)
u1=s1-sqrt(2)
u2=s2-sqrt(2)
u3=s3-sqrt(2)
u4=s4-sqrt(2)
四、 【实验结果】
1.a = 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
转置a'= 35 3 31 8 30 4
1 32 9 28 5 36
6 7 2 33 34 29
26 21 22 17 12 13
19 23 27 10 14 18
24 25 20 15 16 11
秩: 5
最简形:
1 0 0 0 0 -2
0 1 0 0 0 -2
0 0 1 0 0 1
0 0 0 1 0 2
0 0 0 0 1 2
0 0 0 0 0 0
2.
特征值; 1.0000 1.000 4.0000
特征多项式;b =X^3-6X^2+9X-4
特征向量:
0.4082 0.7071 0.5774
0.4082 -0.7071 0.5774
-0.8165 0 0.5774
3.
ans =
1 0 0 0.48
0 1 0 0.6
0 0 1 -0.04
则原方程等价为:
方程的个数<未知量个数有无穷多个解
取=1,则=-0.48,=-0.6,=0.04
所以,方程的通解为:
其中k为任意常数。
4.
s1 = 2.4669 s2 =2.4669 s3 =2.4669 s4 =2.4674
5.
s1 = 1.2448 s2 = 1.3811 s3 = 1.3129 s4 =1.4142
u1 = -0.16945 u2 = -0.033098 u3 =-0.10127 u4 = 3.0509e-08
六.【实验总结】
通过本次实验学习及课后作业,我了解了MATLAB可以完成矩阵的基本运算、特征值、特征向量和线性方程组的求解;可以运用数值方法求定积分。今后将继续努力学习,争取掌握更多MATLAB的功能。