MATLAB实验:基本运算与绘图基础

一、        实验要求

1、熟悉MATLAB命令窗口的组成和各菜单的含义;

2、掌握MATLAB基本使用方法,并能熟练操作MATLAB基本命令;

3、掌握函数表达式或模型的输入方法和基本数值计算方法;

4、掌握绘图函数plot的基本使用方法,以及图形各种属性操作。

二、        实验内容

1、已知蝴蝶曲线由以下参数方程给出:

参数方程

                                         

图1-1 蝴蝶曲线

要求如下:

(1)取值范围为[0,100],步长为1/16(t = 0:1/16:100);

(2)分别计算xy的值(注意表达式中的点乘运算),不要求输出结果,用函数plot(x,y,'r-')绘制蝴蝶曲线;

(3)计算当t_0=[5.98523,15.8620,56.897,88.658]时的x_0y_0值,并输出;

(4)使用命令hold on保持当前图像,使用命令plot(x0,y0,'b.','MarkerSize',20)绘制x_0y_0值到图形中;最终参考图像如图1-1所示。

(5)对工作区中的变量进行截图,并解释各变量的含义和取值;

(6)把上述正确的命令集中录入到命令文件中,命名为“Butterfly_Curve.m”,在命令窗口输入Butterfly_Curve,验证代码功能的正确性和图形的正确性。

2、表1-1是一些关于速度和力的风洞(Wind tunnel)数据。

表1-1 风洞数据

可以用下面的函数描述这些数据:

F=0.2741v^{1.9842}

要求如下:

(1)使用函数plot绘制表1-1风洞数据,用品红色圆形符号表示,圆形符号填充色为青色,使用help plot命令查看函数参数的使用方法;

(2)使用函数plot绘制函数,使用黑色点划线,绘制函数从v=0v=100m/s之间的部分;

(3)标记坐标轴,标记标题,标记图例,绘制网格。最终参考图形如图1-2所示。

(4)计算表1-1中速度v的函数值FT,并与表1-1中F做比较,即计算平均误差(公式为MAE=\frac{1}{n}\sum_{i=1}^n\vert y_i-\bar{y}    \vert  ),这里y_i取风洞数据真实测量值F,\bar{y_i} 取相应的函数模型估计值FT,(其中用到sum、abs和length函数);

(5)把上述正确的命令集中录入到命令文件中,命名为“Wind_tunnel.m”,在命令窗口输入Wind_tunnel,验证代码功能的正确性和图形的正确性。

图1-2 风洞数据和函数曲线参考图

3、物体的运动轨迹可以建模为:

y=(tan\theta _{0} )x-\frac{g}{2v_{0}^2cos^2\theta_{0} }x^2+y_{0}

其中,y是高度(m),\theta_0 是初始角度(弧度),x是水平位移(m),g是重力加速度(取9.81m/s^2),v_0是初始速度(m/s),y_0是初始高度。

根据课件案例“电容电量”的求解步骤,完成如下要求:

(1)建立命令文件“Sport_model.m”,按要求输入命令代码,(注意:边输入边验证代码的正确性);

(2)用MATLAB绘制物体的轨迹,其中y_0=0v_0=28m/s,初始角度从15^o75^o,步长取15^o。水平距离从x=0变化到x=80,递增步长取5m

(3)计算结果应该存放在一个矩阵中,矩阵的第一维度(行)对应于水平距离,而第二维度对应于不同初始角度的高度(从第2行到第6行);

(4)针对每个初始角度,用该矩阵绘制一幅高度随水平距离变化的图;

(5)使用图例区分不同的情况,用axis命令对图形进行缩放以使最小高度变为-50,并标记坐标轴和标题。最终参考图形如图1-3所示。

图1-3 不同弧度下的物体运动轨迹图

4、已知分段函数:

公式:分段函数

要求如下:

(1)用plot函数绘制分段函数,x取值范围为[-5, 10)(表示方法可以-5:0.1:10-eps);

(2)求在点x0 = [0,3,5,8]的函数值,并把此四个点的值绘制在图形中,绘图结果如图1-4所示;

(3)思考如何使用不同颜色绘制不同区间函数的曲线,如图1-5所示。

图1-4 分段函数参考图

图1-5 不同颜色标记分段函数参考图

5、绘图练习,逐条输入以下语句,观察所绘制图形的变化,并理解熟记绘图属性函数,如set、xlabel、legend、title、text、axis。结果如图1-6所示。(提示:每输入一条语句,观察图形的变化,深刻理解每条语句的含义。特别注意:在输入代码的时候,如果此行代码无误,请把此行代码复制到脚本文件中保存,以便重复利用!!

图1-6 绘图结果

%---------------------------------------------代码start-------------------------------------------

%注意以下代码中%后的为注释内容!!

>> x=0:0.2:12; 

>> y1=sin(x); 

>> y2=cos(x); 

>> y3=sin(x)+cos(x);   %计算函数值

>> h=plot(x, y1, x, y2, x, y3);  %绘制基本图形

>> set(h,{'LineWidth'},{1;2;3})   %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2

>> set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--'; '-.'; ':'})   %设置颜色和线宽

>> axis([0 12 -1.5 1.5])   %设置坐标轴范围

>> grid on  %添加网格线

>> X=0:1:12;   Y=-1.5:0.1:1.5;

>> set(gca,'xtick',X,'ytick',Y)   %设置网格的显示格式,gca获取当前figure的句柄

>> set(xlabel('x'),'FontSize',20,'Color','r')  %设置X轴坐标值的颜色和大小

>> y=ylabel('y'); 

>> set(y,'FontSize',24,'Color','g')

>> legend(h,'First','Second','Third')      %添加图例

>> title('sin(x)cos(x)and sin(x)+cos(x)')     %添加标题

>> [y,ix]=min(y1);    %找到y1的最小值以及改值的下标,赋给y和ix

>> text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right')   %插入文本

%-------------------------------------------代码end-------------------------------------------

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空