《管理数学实验》实验报告
班级 姓名
实验1:MATLAB的数值运算
【实验目的】
(1)掌握MATLAB变量的使用 (2)掌握MATLAB数组的创建,
(3)掌握MATLAB数组和矩阵的运算。 (4)熟悉MATLAB多项式的运用 【实验原理】
矩阵运算和数组运算在MATLAB中属于两种不同类型的运算,数组的运算是从数组元素出发,针对每个元素进行运算,矩阵的运算是从矩阵的整体出发,依照线性代数的运算规则进行。 【实验步骤】
(1)使用冒号生成法和定数线性采样法生成一维数组。
(2)使用MATLAB提供的库函数reshape,将一维数组转换为二维和三维数组。
(3)使用逐个元素输入法生成给定变量,并对变量进行指定的算术运算、关系运算、逻辑运算。
(4)使用MATLAB绘制指定函数的曲线图,将所有输入的指令保存为M文件。 【实验内容】
(1)在[0,2*pi]上产生50个等距采样数据的一维数组,用两种不同的指令实现。 0:(2*pi-0)/(50-1):2*pi 或 linspace(0,2*pi,50)
(2)将一维数组A=1:18,转换为2×9数组和2×3×3数组。 reshape(A,2,9) ans =
Columns 1 through 7
1 3 5 7 9 11 13 2 4 6 8 10 12 14 Columns 8 through 9 15 17 16 18 reshape(A,2,3,3) ans(:,:,1) =
1 3 5 2 4 6
ans(:,:,2) =
7 9 11
1 / 26
8 10 12 ans(:,:,3) =
13 15 17 14 16 18
(3)A=[0 2 3 4 ;1 3 5 0],B=[1 0 5 3;1 5 0 5],计算数组A、B乘积,计算A&B,A|B,~A,A= =B,A>B。 A.*B
ans=
0 0 15 12
1 15 0 0 A&B
ans =
0 0 1 1
1 1 0 0 A|B
ans =
1 1 1 1
1 1 1 1
~A
ans =
1 0 0 0
0 0 0 1
A==B
ans =
0 0 0 0
1 0 0 0
A>=B
ans =
0 1 0 1
1 0 1 0
(4)绘制y= 0.5e-t*t*sin(t),t=[0,pi]并标注峰值和峰值时间,添加标题y= 0.5e-t*t*sint,将所有输入的指令保存为M文件。 a=0.5 b=1/3
t=0:0.001:pi
y=a*exp(b*t)-t.*t.*sin(t) [y_max,t_max]=max(y)
t_text=['t=',num2str(t(t_max))] y_text=['y=',num2str(y_max)]
max_text=char('maximum',t_text,y_text) tit=['y=a*exp(',num2str(b),'t)-t*t*sin(t)'] hold on plot(t,y,'y.')
plot(t(t_max),y_max,'r')
2 / 26
t3t3text(t(t_max)+0.3,y_max+0.1,max_text) title(tit),xlabel('t'),ylabel('y'),hold off
【实验心得与总结】
通过这次试验让我了解常用简单函数的功能,学会利用函数解决一些;数值计算和符号计算的实际问题;利用Matlab的help命令查询一些函数的功能。利用MATLAB可以让繁琐的
3 / 26