
实验名称 Matlab 基础知识
学 院
专业班级
姓 名
学 号
2014年 6月
一、【实验目的】
1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。
2.掌握Matlab基本操作和常用命令。
3.了解Matlab常用函数,运算符和表达式。
4.掌握Matlab工作方式和M文件的相关知识。
5.学会Matlab中矩阵和数组的运算。
二、【实验任务】
P16 第4题
编写函数文件,计算,并求出当k=20时表达式的值。
P27第2题
矩阵A=,B=,计算A*B,A.*B,并比较两者的区别。
P27第3题
已知矩阵A=,B=,做简单的关系运算A>B,A==B,AB)。
P34 第1题
用公式求的近似值,直到某一项的绝对值小于为止。
三、【实验程序】
P16 第4题
function sum=jiecheng(n)
sum=0;
y=1;
for k=1:n
for i=1:k
y=y*i;
end
sum=sum+y;
end
sum
P27第2题
>>A=[1 2 3;4 5 6;7 8 9]
>>B=[4 6 8;5 5 6;3 2 2]
>>A*B
>>A.*B
P27第3题
>> A=[5 2;9 1];B=[1 2;9 2];
>>A>B
>>A==B
>>A>> (A==B)&(A >> (A==B)&(A>B)
P34 第1题
t=1;
pi=0;
n=1;
s=1;
while abs(t)>=1e-6
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
end
pi=4*pi;
四、【实验结果】
P16 第4题
P27第2题
两者的区别:A*B是按正规算法进行矩阵的计算, A.*B是对应元素相乘。
P27第3题
P34 第1题
>> pi
pi=
3.1415906535692e+000
五、【实验总结】
这次实验是第一次接触Matlab这个软件,所以有些生疏,花的时间也比较多,但功夫不怕有心人,而且当一个程序弄出来后感觉也特别开心,以后再继续努力学习。
一、
【实验目的】
了解并掌握matlab的基本绘图
二、【实验任务】
P79页 1,3,5题
三、【实验程序】
1.
clf;
x=0:pi/50:4*pi;
y1=exp(x/3).*sin(3*x);y2=exp(x/3);y3=-exp(x/3);
plot(x,y1,'b*',x,y2,'r-.',x,y3,'r-.'),grid on
legend('y1=exp(x/3).*sin(3*x)','y2=+-exp(x/3)')
3.
clf;
x1=-pi:pi/50:pi;
x2=pi:pi/50:4*pi;
x3=1:0.1:8;
y1=x1.*cos(x1);
y2=x2.*tan(x2.^(-1)).*sin(x2.^3);
y3=exp(x3.^(-1)).*sin(x3);
subplot(2,2,1),plot(x1,y1,'m.'),grid on,title('y=x*cosx')
xlabel('xÖá'),ylabel('yÖá')
gtext('y=x*cosx'),legend('y=x*cosx')
subplot(2,2,2),plot(x2,y2,'r*'),grid on,title('y=x*tan(1/x)*sin(x^3)')
xlabel('xÖá'),ylabel('yÖá')
gtext('y=x*tan(1/x)*sin(x^3)'),legend('y=x*tan(1/x)*sin(x^3)')
subplot(2,2,3),plot(x3,y3,'bp'),grid on,title('y=e(1/x3)*sinx')
xlabel('xÖá'),ylabel('yÖá')
gtext('y=e(1/x3)*sinx'),legend('y=e(1/x3)*sinx')
5.
t=0:pi/50:20*pi;
x=t.*cos(t*pi/6);
y=t.*sin(t*pi/6);
z=2*t;
plot3(x,y,z)
四、【实验结果】
1.
3.
5.
五、【实验总结】
通过本次课程和作业,我初步了解了matlab在绘图方面的优势和重要性。
一、
【实验目的】
1. 学会用Matlab进行三维的曲线绘图;
2. 掌握绘图的基本指令和参数设置
二、【实验任务】
P79 习题5
绘制圆锥螺线的图像并加标注,圆锥螺线的参数方程为;
。
P79 习题9
画三维曲线与平面z=3的交线。
三、【实验程序】
习题5:
clf;
t=0:pi/100:20*pi;
x=t.*cos(t.*pi/6);
y=t.*sin(t.*pi/6);
z=2*t;
plot3(x,y,z)
title('圆锥螺线')
xlabel('x轴'),ylabel('y轴'),zlabel('z轴')
习题9:
clf;
t=-2:0.1:2;
[x,y]=meshgrid(t);
z1=5-x.^2-y.^2;
subplot(1,2,1),mesh(x,y,z1),title('曲面z1=5-x.^2-y.^2')
z2=3*ones(size(x));
r0=abs(z1-z2)<=0.05;
zz=r0.*z2;yy=r0.*y;xx=r0.*x;
subplot(1,2,2),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.')
title('交线')
四、【实验结果】
习题5:
习题9:
五、【实验总结】
这次三维曲线(曲面)的绘制虽然不算复杂,但还是要注意一些细节,而且要注意弄懂其中的原因,不能硬套书上的,否则很容易不明道理的出错。
一、
【实验目的】
1. 学会用Matlab练习使用矩阵的基本运算;
2. 掌握用Matlab运用矩阵的特征值、特征向量、特征多项式;
3. 学会用Matlab解线性方程组;
4. 掌握用Matlab进行数值方法计算定积分
二、【实验任务】
P114 习题12
随机输入一个六阶方阵,并求其转置、行列式、秩,以及行最简式。
P114 习题14
求矩阵的特征多项式、特征值和特征向量。
P115 习题20
求下列线性方程组的通解:
(1) (2)
P167 习题17
用三种方法求下列积分的数值解:
(2)
P167 习题18
用多种数值方法计算定积分,并与精确值进行比较,观察不同方法相应的误差。
三、【实验程序】
习题12
>> A=[1 9 5 3 6 5;2 4 6 8 1 0;3 4 6 9 7 2;4 6 7 8 10 4;5 0 7 3 2 1;3 8 6 3 1 9]
>> A'
>> det(A)
>> rank(A)
>> rref(A)
习题14:
>> B=[2 1 1;1 2 1;1 1 2]
>> p=poly(B)
>> [V D]=eig(B)
习题20:
(1)
>> A=[1 1 2 -4;-1 1 3 0;2 -3 4 -1]
>> rref(A)
(2)
>> B=[1 -1 -1 1;1 -1 1 -3;1 -1 -2 3]
>> rref(B)
>> C=[1 -1 -1 1 0;1 -1 1 -3 1;1 -1 -2 3 -1/2]
>> rref(C)
习题17:
(2)
function y=jifen(x)
y=x.*sin(x)./(1+cos(x).^2);
h=0.01;
x=0:h:pi;
y0=1+cos(x).^2;
y1=x.*sin(x)./y0;
t=length(x);
s1=sum(y1(1:(t-1)))*h
s2=sum(y1(2:t))*h
s3=trapz(x,y1)
s4=quad('jifen',0,pi)
习题18:
function y=jifen(x)
y=1./(1-sin(x));
h=0.01;
x=0:h:pi/4;
y=1./(1-sin(x));
t=length(x);
format long
s1=sum(y1(1:(t-1)))*h
s2=sum(y1(2:t))*h
s3=trapz(x,y)
s4=quad('jifen',0,pi/4)
format short
u1=s1-sqrt(2)
u2=s2-sqrt(2)
u3=s3-sqrt(2)
u4=s4-sqrt(2)
四、【实验结果】
习题12
习题14
习题20
(1)
原方程对应的同解方程组为:,解得方程基础解系为:,所以方程组的通解为:
=
(2)
解对应的齐次方程组,可得一个基础解系:
原方程组对应的同解方程组为:,可找到一个特解为:
因此,此方程组的通解为:
习题17:
(2)
习题18:
五、【实验总结】
在掌握线性代数相关运算和数值积分的理论基础上进行操作,学会了用Matlab相关指令和编程,并进行计算与误差分析,感觉原来很繁琐的计算用Matlab很方便!
一、
实验目的】
1. 学会用Matlab进行曲线拟合和使用插值函数;
2. 掌握曲线拟合和插值处理的基本指令和参数设置
二、【实验任务】
P130 习题9
已知在某实验中测得某质点的位移s和速度v随时间t变化如下:、
| t | 0 | 0.5 | 1.0 | 1.5 | 2.0 | 2.5 | 3.0 |
| v | 0 | 0.4794 | 0.8415 | 0.9975 | 0.9093 | 0.5985 | 0.1411 |
| s | 1 | 1.5 | 2 | 2.5 | 3 | 3.5 | 4 |
P130 习题10
在某种添加剂的不同浓度之下对铝合金进行抗拉强实验,得到数据如下,现分别使用不同的插值方法,对其中没有测量的浓度进行推测,并估算出浓度X=18及26时的抗压强度Y的值。
| 浓度X | 10 | 15 | 20 | 25 | 30 |
| 抗压强度Y | 25.2 | 29.8 | 31.2 | 31.7 | 29.4 |
利用不同的方法对在(-3,3)上的二维插值效果进行比较。
三、【实验程序】
习题9:
clf;
t=0:0.5:3;
v=[0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411];
s=[1 1.5 2 2.5 3 3.5 4];
p1=polyfit(t,v,2);
p2=polyfit(t,s,2);
p3=polyfit(s,v,2);
disp('速度与时间函数'),f1=poly2str(p1,'t')
disp('位移与时间的函数'),f2=poly2str(p2,'t')
disp('位移与速度的函数'),f3=poly2str(p3,'s')
t1=0:0.01:3;
s1=0:0.01:4;
y1=polyval(p1,t1);
y2=polyval(p2,t1);
y3=polyval(p3,s1);
subplot(1,3,1),plot(t,v,'b*',t1,y1,'-.'),title('速度与时间函数'),xlabel('t轴'),ylabel('v轴')
subplot(1,3,2),plot(t,s,'x',t1,y2,':'),title('位移与时间的函数'),xlabel('t轴'),ylabel('s轴')
subplot(1,3,3),plot(s,v,'k*',s1,y3,'r--'),title('位移与速度的函数'),xlabel('s轴'),ylabel('v轴')
习题10:
clf;
x=10:5:30;
y=[25.2 29.8 31.2 31.7 29.4];
xi=10:0.05:30;
yi1=interp1(x,y,xi,'*nearest');
yi2=interp1(x,y,xi,'*linear');
yi3=interp1(x,y,xi,'*spline');
yi4=interp1(x,y,xi,'*cubic');
plot(x,y,'b*',xi,yi1,'--',xi,yi2,'-.',xi,yi3,'k-',xi,yi4,'m:')
legend('原始数据','最近点插值','线性插值','样条插值','立方插值')
disp('浓度X=18的抗压强度值')
a=interp1(x,y,18,'*spline')
disp('浓度X=26的抗压强度值')
b=interp1(x,y,26,'*cubic')
习题12:
[x,y]=meshgrid(-3:.5:3);
z=x.^2/16-y.^2/9;
[x1,y1]=meshgrid(-3:.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:.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(221),mesh(xi,yi,zi1),title('最近点插值')
subplot(222),mesh(xi,yi,zi2),title('线性插值')
subplot(223),mesh(xi,yi,zi3),title('样条插值')
subplot(224),mesh(xi,yi,zi4),title('立方插值')
四、【实验结果】
习题9:
习题10:
习题12:
五、【实验总结】
本次实验是对多项式的表达以及对曲线的拟合方法,在实际操作进一步了认识拟合和插值的方法以及
Matlab的简单方便。
六、
【实验目的】
1. 学会用Matlab进行常微分方程的求解、随机试验和统计作图;
2. 掌握相关运算处理的基本指令和参数设置
七、【实验任务】
P168 习题24
求解微分方程。
P168 习题27
用数值方法求解析下列微分方程,用不同颜色和线形将y和y’画在同一个图形窗口里:
初始时间:=0;终止时间:;初始条件:。
P190 习题15
描绘以下数组的频数直方图:
6.8, 29.6,33.6,35.7, 36.9, 45.2, 54.8, 65.8, 43.4, 53.8, 63.7, 69.9, 70.7, 79.5, 97.9, 139.4, 157.0
P190 习题16
若样本为85,86,78,90,96,82,80,74 求样本均值、标准差、中位数、极差和方差。
八、【实验程序】
习题24:
>>dsolve('Dy=x*sin(x)/cos(y)','x')
习题27:
function xdot=exf(t,x)
u=1-2*t;
xdot=[0,1;1,-t]*x+[0,1]'*u;
clf;
t0=0;
tf=pi;
x0t=[0.1;0.2];
[t,x]=ode23('exf',[t0,tf],x0t);
y=x(:,1)
Dy=x(:,2)
plot(t,y,'r-', t,Dy,'b*')
legend('y','Dy')
xlabel('t轴')
习题15:
clf;
load A.txt;
figure(1)
hist(A,5)
figure(2)
hist(A,10)
figure(3)
hist(A,20)
习题16:
B=[85 86 78 90 96 82 80 74];
disp(' 样本均值 标准差 中位数 极差 方差')
C=[mean(B),std(B),median(B),range(B),var(B)]
九、【实验结果】
习题24:
习题27:
习题15:
习题16:
十、【实验总结】
通过这最后一次实验,我学习了怎么用Matlab作常微分方程的求解、概率论与数理统计的相关计算,感受到了Matlab软件的强大与方便。
