中南大学数学建模实验报告
- 格式:docx
- 大小:802.90 KB
- 文档页数:26
MATLAB数学建模实验报告
学院:材料科学与工程
专业班级:材料国际
姓名:
学号:
完成时间:2016年12月7日
目录
一、数学实验学习体会 (3)
二、实验一:MATLAB作图 (4)
实验目的 (4)
实验内容 (4)
三、实验二:线性规划 (7)
实验目的 (7)
实验内容 (7)
四、实验三:插值 (11)
实验目的 (11)
实验内容 (11)
五、实验四:拟合 (12)
实验目的 (12)
实验内容 (12)
六、实验五:MATLAB在材料力学里的应用 (14)
实验目的 (14)
实验内容 (15)
七、实验六:MATLAB创建2048小游戏 (19)
游戏规则 (20)
游戏代码及运行结果 (20)
八、心得与收获 (26)
一、数学实验学习体验
通过对《数学实验与建模》这门课程的学习,我初步掌握了一些建模思想、模型分析以及对于数学矩阵实验室(即:MATLAB软件)的使用。课程分为两个阶段,即八周的数学建模讲授、八周的数学实验。在这里,主要谈一谈运用MATLAB软件进行的数学实验给我带来的感受与收获。
通过学习,我们知道MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。正如这些强大的功能,我们才有必要认真学习并掌握这项技能,我的专业是材料科学与工程,矩阵运算和处理实验数据对于我的专业领域大有裨益,这也坚定了我熟练掌握MATLAB的决心。
我做的第一个实验是图形的绘制。这在Microsoft软件中也可以实现,而MATLAB给我带来的直观感受就是更加“强大、丰富、专业”,不仅包含了二维三维,甚至多维度空间图形也能表现出来。还可对坐标控制、图形修饰、窗口分割等操作,如果特殊需要时还可用polar得到极坐标图形,调用semilogx得到对数坐标函数等。三维图形有三维曲线、三维曲面,这种功能对求两个复杂三维立体图形的交线交面等很有帮助。在二维图形绘制时可以绘出条形图、杆图、饼图,当然也可以调用函数bar3、stem3、pie3、fill3等绘制三维图形。对三维图形可以进行精细处理,比如视点处理,色彩处理,还可以进行图形的裁剪,在实际生活中也很有用。
另外一个让我影响深刻的功能就是数据处理,对于材料科学的科研工作,往往需要在大量实验数据里找到一定规律,从而揭示一种材料性能的影响因素,实现对材料性能的调控。而从MATLAB中最初学习到的就是插值与拟合,种类丰富,处理也十分精确,还可以自定义插值、拟合函数,最后通过plot以图形的形式展现出来。对于数据规律性的探讨十分有帮助。
通过这么短时期的学习,是很难理解到MATLAB的精髓的,要想从使用到理解到熟练掌握还需要一个很长的学习探索过程,我相信,MATLAB软件不仅将对我的科研领域起到重要的作用,还将为我处理生活问题带来便捷。
二、实验一:MATLAB作图
1.实验目的:
了解MATLAB作图的基本内容
掌握MATLAB作图的集中基本方式,实现对数据进行可视化作图分析2.实验内容:
(1)例:在[0,2pi]用红线画sin x,用绿圈画cos x.
x=linspace(0,2*pi,30);
y=sin(x);
z=cos(x);
plot(x,y,'r',x,z, 'g0')
先建M文件myfun1.m:
function Y=myfun1(x)
Y=exp(2*x)+sin(3*x.^2)
再输入命令:
fplot('myfun1',[-1,2])
(3)例:画多条曲线观察函数Z=(X+Y)2
x=-3:0.1:3;y=1:0.1:5;
[X,Y]=meshgrid(x,y);
Z=(X+Y).^2;
plot3(X,Y,Z)
(4)例:画函数Z=(X+Y)2的图形.
x=-3:0.1:3;
y=1:0.1:5;
[X,Y]=meshgrid(x,y);
Z=(X+Y).^2;
surf(X,Y,Z)
shading flat
(5)例: 在区间[0,2π]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示
意图”, 并加格栅.
x=linspace(0,2*pi,30);
y=sin(x);
plot(x,y)
xlabel('自变量X')
ylabel('函数Y')
title('示意图')
grid on
(6)例:山峰的三维和二维等值线图
[x,y,z]=peaks;
subplot(1,2,1)
contour3(x,y,z,16,'s')
grid, xlabel('x-axis'),ylabel('y-axis')
zlabel('z-axis')
title('contour3 of peaks');
subplot(1,2,2)
contour(x,y,z,16,'s')
grid, xlabel('x-axis'), ylabel('y-axis')
title('contour of peaks');