matlab第八讲教案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的错误数据点。而且,图形化数据可以让人迅速准确地判断所编写的程序是否能够得出正确的结果。
( 1)二维图形
①基本绘图命令 在工程中最常用的图形是 x-y 坐标图。 x-y 坐标图就是用一系列有序数据标识出的二维坐标平面上的
点,然后把这些点用直线连起来就构成二维图形。通过测量或计算得到
x 和 y 的坐标值,一般情况下,自
西南科技大学本科生课程备课教案
计算机技术在安全工程中的应用
—— Matlab 入门及应用
授课教师:徐中慧 班 级: 专 业:安全技术及工程
第八章 绘图
课型:新授课 教具:多媒体教学设备, matlab 教学软件
一、目标与要求
掌握 matlab 中二维绘图、三维绘图、子图等相关图形绘制功能。
二、教学重点与难点
legend(‘string1 ’,’string2’,etc),添加图例,对不同曲线加以说明
text(x_coordinate,y_coordinate, ’string ’),输入参数为文本框的位置和内容 gtext( ’string’) ,添加文本框,框的位置由鼠标操作来确定
注意:添加标题和坐标轴标注前要先创建图形,否则绘图命令会删除前面已经设置的标注。 命令 xlabel 、ylabel 和 title 中的字符串一般用单引号结束。 在 matlab 中也可以使用撇号 (如 it ’ s)。 输入两个单引号中间可以用撇号隔开,但不能使用双引号。
%% 加栅格
grid %添加栅格, grid on/grid off
hold on %hold/hold on 保持住当前图形, hold off
pause(10)
%%绘第二张图
y1=cos(x)
plot(x,y1, '--o' )
%%继续修饰
axis([0,2*pi,-1.2,1.2])
%设定坐标轴的范围
②绘制多条曲线
编程过程中经常需要绘制完图形后继续进行计算,然后又绘源自文库图形。
窗口,但生成的第二幅图会覆盖掉第一幅图形。
怎么办?
Matlab 可以随时生成和显示图形
用 figure 创建新的图形。使用 figure 重新打开一个新的图形窗口,并在窗口中绘制图形。
figure(n) 例如输入 figure(2) ,会出现一个新的图形窗口,可以在此窗口绘制下一个图形。
a=a+x(k); k=k+1; end if a==sum(x) disp(a) else disp('error' ) end
( 4)用函数 primes 求小于 100 的素数,用 for 循环计算相邻两个素数的乘积。例如,前 4 个素数是
2357 计算 2*3 3*5 5*7 输出 6 15 35
本堂课教学的重点在于引导学生在编写 matlab 程序时能够熟练运用绘图的相关函数实现相应的功能。
三、教学方法
本课程主要通过讲授法、演示法、练习法等相结合的方法来引导学生掌控本堂课的学习内容。
四、教学内容
课后习题讲解 ( 1)用 switch/case,menu 结构编写程序求解下列问题:提示用户输入入学时间是一年、二年、三年还是四 年,输入数据是字符串。根据输入数据决定期末考试的时间。其中,一年级周一考试,二年级周二考试, 三年级周三考试,四年级周四考试。 Input=menu( 'Enter a value for your grade' ,'one year','two years','three years','four years' ); switch Input
变量 x 的值描绘在 x 轴上,因变量 y 的值描绘在 y 轴上。 %%绘第一张图
x=0:0.2:2*pi;
y=sin(x);
plot(x,y)
%绘制二维图形
%%加修饰
title( ' 绘制二维图形 ' ); %添加标题
xlabel( ' 自变量 x' );ylabel( ' 因变量 y' ); %添加坐标轴标识
r=5*cos(4*theta) 。根据 theta 和 r
2.数组 theta 保持不变,根据关系式 theta=0:pi/100:2*pi; r=5-5*sin(theta); polar(theta,r)
r=5-5*sin(theta) 绘制极坐标图。
3.定义数组 theta=pi/2:4/5*pi:4.8*pi, 创建 6 个元素的全 1 数组 r,根据 theta 和 r 绘制极坐标图。 theta=pi/2:4/5*pi:4.8*pi; r=ones(1,6); polar(theta,r)
使用 plot 与 hold on 相结合 用 plot , plot 输入 x 矢量和 y 矢量分别绘制曲线 plot(x1,y1,x2,y2)
如果函数 plot 的输入参数是一个单独的矩阵, 则 Matlab 对矩阵的每一列单独绘图。 矩阵的行下标矢量 作为 x 轴坐标,每列所对应的数值作为 y 轴坐标绘制曲线。如果 plot 有两个自变量,一个是矢量,一个是 矩阵,那么, matlab 按行依次绘制图形。
otherwise output=1.65+0.3*(sugar-3); fprintf( '%3.0f lump sugars cost $%4.2f\n' ,sugar,output)
end
( 3)用 for 循环结构求矢量元素的和,已知矢量 x 等于
x=[1 23 43 72 87 56 98 33]
Matlab 中,一
般将数据从最大值到最小值之间等分成 试成绩。用柱状图显示结果。
10 份,用柱状图显示。定义矩阵 x 是《工程导论》课程的期末考
x=[100 95 74 87 22 78 34 35 93 88 86 42 55 48];
hist(x)
⑧双 y 轴图
在解决实际问题时,有时需要把两个 x-y 坐标图输出到同一坐标图中。在这种情况下,如果两个
subplot(2,1,2)
plot(x,cos(x))
⑤极坐标图
在 Matlab 中可以绘制极坐标图。 polar(theta,r)
根据输入角度(一般用弧度表示)和半径 x=0:pi/100:pi;
r 绘制极坐标图
y=sin(x);
polar(x,y)
练习 1.定义数组 theta,范围从 0 到 2*pi ,步长为 0.04*pi 。定义半径数组 的值绘制极坐标图。 theta=0:pi/100:2*pi; r=5*cos(4*theta); polar(theta,r)
描述
运用
创建一个 x-y 坐标图
plot(x,y)
添加标题
title (‘ my graph’)
添加 x 轴坐标
xlabel (‘坐标轴名称’ )
添加 y 轴坐标 添加栅格
ylabel (‘坐标轴名称’ ) grid on 添加栅格 /grid off 取消栅格
定义当前图形
hold on 保持当前图形 /hold off 覆 盖当前图形
legend( 'sin(x)' , 'cos(x)' ) %添加图例
gtext( 'sinx' ); %添加文本框
gtext( 'cosx' ); %添加文本框
覆盖当前图形
命令 plot title xlabel ylabel grid hold
pause
axis
axis(v) legend
text gtext
clear,clc
x=[1 2 5 4 8];
y=[x;1:5];
%%垂直条形图
subplot(2,2,1)
bar(x, 'r' ),title( 'A bar graph of vector x'
%%垂直条形图,输入矩阵
subplot(2,2,2)
bar(y),title( 'A bar graph of matrix y'
case 1 fprintf( '%3.0f lump sugar costs $0.75\n' ,sugar) case 2 fprintf( '%3.0f lump sugar cost $1.25\n' ,sugar)
case 3 fprintf( '%3.0f lump sugar cost $1.65\n' ,sugar)
x=0:0.2:2*pi; y=sin(x);
plot(x,y, '--or' )
线条、颜色和标记选项
线条类型
标识符
点类型
标识符
颜色
标识符
实线
-
点
.
蓝色
b
点
:
圆圈
o
绿色
g
点画线
-.
X 形状
x
红色
r
虚线
--
加号
+
青色
c
星号
*
洋红色
m
方形
s
黄色
y
菱形
d
黑色
k
下三角
v
白色
w
上三角
^
提示
清除图形用 clf ,关闭图形窗口用 close 命令。
④子图 使用 subplot 命令可以把图形窗口分成 m 行 n 列的多个区域。函数
subplot ( m,n,p) 把图形窗口分成 m× n 个小窗口,在第 p 个小窗口绘制下一个图形
窗口按从左到右,从上到下的顺序编号。
x=0:pi/100:2*pi;
subplot(2,1,1)
plot(x,sin(x));
x=0:pi/100:2*pi;
y1=cos(x)*2;
y2=cos(x)*3; y3=cos(x)*4;
y4=cos(x)*5;
z=[y1;y2;y3;y4];
plot(x,y1,x,y2,x,y3,x,y4);
figure(2)
plot(x,z)
③线条、颜色和标记的风格
用户可以选择实线、虚线、点和点画线作为绘图线,选择加号、星形、圆圈等形状作为标记。此外还 可以选择不同的绘图颜色。
⑥条形图和饼图
bar(x) barh(x) bar3(x) bar3h(x) pie(x) pie3(x) hist(x)
条形图和饼图 若 x 矢量,则绘制垂直条形图;若 x 为二维矩阵,则按行分组显示 若 x 矢量,则绘制水平条形图;若 x 为二维矩阵,则按行分组显示 绘制三维条形图 绘制三维水平条形图 绘制饼图。矩阵 x 的元素用饼图中的一部分表示 绘制三维饼图。矩阵 x 中的元素用饼图的一部分表示 绘制柱状图
暂停程序,观察图形
pause 暂停程序,按任意键继续 pause(n) 继续执行前中止执行程
序 n秒
如果没有输入参数,就将坐标轴固定在当前配置状态。再次输入
axis
就是恢复对坐标轴的控制
axis 的输入参数是一个四维矢量 ,分别定义了 x 轴和 y 轴的最小值和最 大值,例如: [xmin,xmax,ymin,ymax]
用函数 sum 检查计算结果,并用 while 重写一遍程序。
x=[1 23 43 72 87 56 98 33]; a=0; for k=1:length(x)
a=a+x(k); end if a==sum(x)
disp(a) else
disp('error' ) end
x=[1 23 43 72 87 56 98 33]; a=0; k=1; while k<=length(x)
case 1 disp('Monday' )
case 2 disp( 'Tuesday')
case 3 disp( 'Wednesday')
case 4 disp( 'Thursday' )
end ( 2)编写程序,提示用户输入购买方糖的数量,输入数据是糖的块数。计算购买方糖的费用。价格确定 方法是: 1 块= $0.75;2 块= 1.25; 3 块= 1.65。当多于 3 块时,总费用= $1.65+$0.30*( 购买数量 -3)。 sugar=input( 'Enter a value for quantityof sugar\n' ); switch sugar
x=primes(100);
for k=1:length(x)
if k+1<length(x)
a=x(k)*x(k+1);
b(k)=a;
else
break
end
end
disp(b) 引言
大规模的数据表格很难直观表现信息内容,而工程师利用图形化技术可以使信息更加容易理解。图形
化技术可以直观地反映出数据的变化趋势、最大值和最小值,也可以非常容易地检查出因计算或测量引起
);
%%三维条形图
subplot(2,2,3)
bar3(y),title(
'A three-dimensional bar graph'
%%饼图
subplot(2,2,4)
pie3(x),title(
'A three-dimensional pie graph'
);
) )
⑦柱状图 柱状图是一种主要用于数据统计分析的图形,通过它可以显示出数据的分布情况。在