3.5  MATLAB绘图实训
3.5.1 实训目的
1.学会MATLAB绘图的基本知识;
2.掌握MATLAB子图绘制、图形注释、图形编辑等基本方法;
3.学会通过MATLAB绘图解决一些实际问题;
4.练习二维、三维绘图的多种绘图方式,了解图形的修饰方法;
5.学会制作简单的MATLAB动画。
图3-46  炮弹发射示意图
3.5.2 实训内容
1.炮弹发射问题             
〔1炮弹发射的基础知识
炮弹以角度射出的行程是时间的函数,可以分解为水平距离和垂直距离
                              %水平方向的行程;
                      %垂直方向的行程;matlab考试题库及答案
其中,是初速度;
是重力加速度,为9.8
是时间。
〔2炮弹发射程序举例:
分析以下程序以及图3-47各个图形的实际意义。
a=pi/4;
v0=300;
g=9.8;
t=0:0.01:50;
x=t*v0*cos<a>;
y=t*v0*sin<a>-0.5*g*t.^2;
subplot<221>;plot<t,x>;grid;title<‘时间-水平位移曲线'>;
subplot<222>;plot<t,y>;grid;title<‘时间-垂直位移曲线'>;
subplot<223>;plot<x,y>;grid;title<‘水平位移-垂直位移曲线'>;
subplot<224>;plot<y,x>;grid;title<‘垂直位移-水平位移曲线'>;
                      图3-47    角发射曲线
〔3编程解决炮弹发射问题
①假设在水平地面上以垂直于水平面的角度向上发射炮弹,即发射角,假设初速度分别为[310,290,270]m/s,试绘制时间-垂直位移曲线,编程求取最高射程;
绘图要求:
标题设为"炮弹垂直发射问题";
在图上通过添加文本的方式表明初速度;
在x轴标注"时间";
在y轴上标注"垂直距离";
添加网格线;
将310m/s的曲线改为线粗为2的红实线;
将290m/s的曲线改为线粗为3的绿点划线;
将270m/s的曲线改为线粗为2的蓝长点划线;
a=pi/2;
v1=310;
g=9.8;
t=0:0.01:50;
x1=t*v1*cos<a>;
y1=t*v1*sin<a>-0.5*g*t.^2;
plot<t,y1>;grid; title<'炮弹垂直发射问题'>;
xlabel<'时间'>;
ylabel<'垂直距离'>;
hold on;
v2=290;
x2=t*v2*cos<a>;
y2=t*v2*sin<a>-0.5*g*t.^2;
plot<t,y2>;
v3=270;
x3=t*v3*cos<a>;
y3=t*v3*sin<a>-0.5*g*t.^2;
plot<t,y3>;
zgsc=[max<y1>; max<y2>; max<y3>]      %三次发射的最高射程
运行结果如下:
zgsc =
  1.0e+003 *
    4.9031
    4.2908
3.7194
最高射程分别为:4903.1米,4290.8米,3719.4米。
②假设距地面3750米的高空〔火炮正上方有一个半径为2000米的圆形漂浮物,火炮初始速度为280m/s, 若发射角度为90度,问能击中吗?若发射角度为80度,能击中吗?
绘图要求:
在同一幅图上绘制两条射程曲线;
曲线设为红粗度为2的点划线形式;
通过gtext<>命令在图上添加文本"高空漂浮物体击打";
通过insert‘legend添加图例,分别注明"90度角发射垂直位移"、"80度角发射垂直位移";"80度角水平位移";
的曲线上通过添加箭头方式画一箭头,通过添加文本方式注明最高射程数据。
a1=pi/2;
a2=80*pi/180;
v1=280;
v2=280;
g=9.8;
t=0:0.01:50;
x1=t*v1*cos<a1>;
x2=t*v2*cos<a2>;
y1=t*v1*sin<a1>-0.5*g*t.^2;
y2=t*v2*sin<a2>-0.5*g*t.^2;
plot<t,y1>;
hold on;
plot<t,y2>;
plot<t,x2>
grid;
gtext<'高空漂浮物体击打'>;
zgsc=[max<y1>; max<y2>]
zgsc =
  1.0e+003 *
    4.0000
    3.8794
通过图中可以看出:
90度角发射时最高射程为4000米,因为4000>3750,因而能够击中高空漂浮物。
80度角发射时,炮弹至最高点时,水平位移接近1000米时,垂直位移尚未达到3750米,因此80度角发射不能击中漂浮物。
③以初速度255m/s射出,发射角度分别为,,,求时间从0到40秒期间的水平位移和垂直位移<在x和y方向上的距离>。
绘图要求:
采用子图绘制subplot<>命令,绘制1行3列的三个子图;
第一幅子图形中画出水平距离与时间的关系图;
第二幅子图形中画出垂直距离与时间的关系图;
第三幅子图形中画出水平距离与垂直距离的关系图。
要求添加标题和标注。
a1=40*pi/180;
a2=45*pi/180;
a3=50*pi/180;
v0=255;
g=9.8;
t=0:0.01:40;
x1=t*v0*cos<a1>;
x2=t*v0*cos<a2>;
x3=t*v0*cos<a3>;
subplot<131>;plot<t,x1, 'b- ',t,x2, 'r: ',t,x3, 'g-. '>;
grid;title<'时间-水平位移曲线'>;
y1=t*v0*sin<a1>-0.5*g*t.^2;
y2=t*v0*sin<a2>-0.5*g*t.^2;
y3=t*v0*sin<a3>-0.5*g*t.^2;
subplot<132>;plot<t,y1, 'b- ',t,y2, 'r: ',t,y3, 'g-. '>;
grid;title<'时间-垂直位移曲线'>;
subplot<133>;plot<x1,y1, 'b- ',x2,y2, 'r: ',x3,y3, 'g-. '>;
grid;title<'水平位移-垂直位移曲线'>;
2.理财
在利滚利的情况下,以下公式表示了储蓄的增长情况:
其中,是当前余额,是初始余额,是增长率<以小数形式表示>,r是投资的时间。如果你的投资金额为1000美元,利率为5%<0.05>,用轴表示时间、轴表示当前余额进行绘图,试绘制20年范围内的储蓄增长情况。
绘图要求:
◆ 创建一幅图形,包含三幅子图;
◆ 在第一幅子图中,使用线性坐标系绘制f与P的关系图;
◆ 在第二幅子图中,x轴使用对数坐标、绘制f与P的关系图;
◆ 在第三幅子图中,y轴使用对数坐标,绘制f与P的关系图;
x=1:20;
y=1000*<1+0.05>.^x;
subplot<131>;plot<x,y>; title<' x轴y轴均按线性分度' >;grid;
subplot<132>; semilogx<x,y>;title<' x轴按对数分度' >;grid;
subplot<133>; semilogy<x,y>;title<' y轴按对数分度' >;grid;
3.向量G表示高等数学课程的期末考试成绩分布。
G=[78,82,65,80,72,89,46,25,86,66,69,75,93,88,60,78,71,63,75,95,68,74,96,38,81]
<1> 使用MATLAB对这些数据进行排序,并创建一幅成绩的条形图。
<2> 创建饼图,表示该成绩分布。
>> G=[78, 82,65,80,72,89,46,25,86,66,69,75,93,88,60,78,71,63,75,95,68,74,96,38,81];
>> sort<G>
ans =
25    38    46    60    63    65    66    68    69    71    72    74    75    75    78    78    80    81    82    86    88    89    93    95    96
>> hist<G>
>> pie3<G>
4. 存款复利滚存问题,城乡居民及单位存款利率如下,假设各档次利率10年保持不变。
存期
活期
三个月
半年
一年
二年
三年
五年
年利率
0.72
3.33
3.78
4.14
4.68
5.40
5.85
现有现金10万元,采用以下存款方式,计算10年后的本息总额,并用直方图的形式绘图比较。
方案1:定期三个月,自动转存,总共10年;
方案2:定期六个月,自动转存,总共10年;
方案3:定期1年,自动转存,总共10年;
方案4:定期2年,自动转存,总共10年;
方案5:定期5年,自动转存,总共10年;
>> f1=10*<<1+0.0333/4>>^<10*12/3>
f2=10*<<1+0.0378/2>>^<10*12/6>
f3=10*<<1+0.0414>>^<10/1>
f4=10*<<1+0.0468*2>>^<10/2>
f5=10*<<1+0.0585*5>>^<10/5>
t=1:5;
f= [f1,f2,f3,f4,f5];
bar<t,f>
f1 =
  13.9323
f2 =
  14.5422
f3 =
  15.0029
f4 =
  15.6420
f5 =
  16.7056
5.按照要求完成以下题目。
在图形窗口中绘制函数 <红点划线>,在同一图形窗口中绘制函数 <绿实线>, 〔蓝线,x的范围都是[0,12],给图形加上标题"一图多线",在x 轴上加注"x轴",在y 轴上加注"y轴",把"衰减余弦曲线"字符串放置到图形中鼠标所指定的位置上。
x=0:0.01:12;
y1=sin<x>+cos<x>;
y2=1-cos<2*x>;
y3=exp<-0.2*x>.*cos<2*x>;
plot<x,y1, ' r:',x,y2,' g-',x,y3, ' b '>;
xlabel<' x轴'>;
ylabel<' y轴'>;
title<'一图多线'>;
gtext<'衰减余弦曲线'>;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。