桂林电子科技大学2017-2018学年第1学期
数学建模
实验名称 院系 学号 同作者 实验日期 掌握Matlab基本的编程与作图功能 计算机与信息安全学院 专业 计算机科学与技术 姓名 2017 年 12 月 17 日 检查情况: 成绩教师签名: 一、实验目的
1. 熟悉MATLAB软件的用户环境; 2. 了解MATLAB软件的一般命令;
3. 掌握MATLAB向量、数组、矩阵操作与运算函数; 4. 掌握MATLAB软件的基本绘图命令;
5. 掌握MATLAB语言的几种循环、条件和开关选择结构及其编程规范。 二、实验内容
1. MATLAB软件的矩阵输入和操作
2. 用MATLAB语言编写命令M文件和函数M文件 3. 直接使用MATLAB软件进行作图练习; 三、实验任务
1. 有一个4×5的矩阵,编程求出其元素最大值及其所在的位置。
Jm.m文件代码: clear;
a=input('请输入一个4*5矩阵'); max=a(1,1); maxi=0; maxj=0; for i=1:4 for j=1:5
if a(i,j)>max max=a(i,j); maxi=i; maxj=j;
end end end
fprintf('最大值为:%d位置:o%d %d \\n',max,maxi,maxj); 实验结果:
2. 有一函数f(x,y)=x2+sin xy+2y,写一程序,输入自变量的值,输出函数值。
Jm_5.m文件代码: function f=Jm_5(x,y) f=x.^2+sin(x*y)+2*y;
实验结果:
3. 用surf,mesh绘制曲面z=2x2+y2。
Jm5.m代码: x=-3:0.1:3; y=1:0.1:5;
[X,Y]=meshgrid(x,y); Z=2*X.^2+Y.^2;
subplot(1,2,1);surf(X,Y,Z);title('surf(x,y)'); subplot(1,2,2);mesh(X,Y,Z);title('mesh(x,y)'); 实验结果:
4. 在同一平面的两个窗口中分别画出心形线和马鞍面。要求: (1) 在图形上加格栅、图例和标注 (2) 定制坐标
(3) 以不同的角度观察马鞍面 Jm7.m文件代码:
ax1=subplot(1,2,1);
t=linspace(0,2*pi,400);
f1=polar(t,1+cos(t)); title('心形线');
legend(f1,'r=1+cost')
ax2=subplot(1,2,2); x1=linspace(-40,20,40); y1=linspace(-40,20,40); [X,Y]=meshgrid(x1,y1); Z=X.^2-Y.^2; f2=surf(X,Y,Z); title('马鞍面');
legend(f2,'z=x^2-y^2','Location','Northeast') xlabel('x轴') ylabel('y轴') zlabel('z轴')
axis([-40 20 -40 20 -1000 1500])
setAllowAxesRotate(rotate3d,ax1,false); grid on 实验结果:
四、实验总结
通过本次实验基本掌握了MATLAB软件的基本操作、矩阵的操作、函数的创建、.m文件的创建及使用、MATLAB软件的画图功能。