MATLAB 图形和动画编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 学习笔记图形与动画编程(一)
GUI——Graphical User Interfaces 图形用户界面
实现一个GUI的过程包括两个基本任务:一个是GUI的组建布局;一个是GUI组件编程。
在matlab中,GUIDE是一个组建布局工具箱,能够生成用户所需要的组件资源和并保存在一个FIG文件中。
可以这样说,matlab图形界面程序的核心就是句柄图形的应用。句柄图形是一组底层图形函数的名称,这些函数用来在matlab中生成图形,他提供了对图形的高级控制,其基本思想是,matlab 中每一个可是部分就是一个对象,每个对象都有一个相应的唯一标示符,即句柄。
MATLAB的二维制图
二维图形的基本绘图命令
Matlab提供了两种级别的二维图形基本绘图命令:
高级绘图命令plot;低级绘图命令line;
plot函数常见语法格式:
1.plot(Y)
2.plot(X,Y)
3.plot(X1,Y1,X2,Y2,...Xn,Yn)
上述命令可以指定线型、颜色、数据点标记类型等属性
需要注意的是,当指定了数据点标记类型,但不指定线型的时候,则表示只标记数据点,而不进行连线绘图。
line函数常见语法格式:
line(X,Y)将各数据点用线段顺次连接起来,从而绘制一条折线
line(X,Y)中的X,Y可以是一组相关的变量,这样就画出一条折线,如果是不变的点,则line 函数画出的是直线
如:
%plot line 应用
x=0:pi/20:2*pi;
y1=sin(x);
y2=sin(x+pi/2);
plot(x,y1,'r:',x,y2,'+')
line([0,7],[0.5,0.5])
line([0,7],[-0.5,-0.5])
legend('y1','y2')
xlabel('x')
ylabel('y')
二维图形的修改
坐标轴的调整:axis函数
1.调整坐标轴的范围
axis([xmin xmax ymin ymax])
2.调整坐标轴的状态
axis(str)
此函数的功能是将坐标轴的状态设定为字符串参数str所指定的状态。
参数str是由一对单引号所引起来的字符串(也可以省略这对单引号),它表明了将坐标轴调整为哪一种状态。
常用的字符串命令有:
axis xy 使用笛卡尔坐标系
axis ij 使用matrix坐标系
axis square 将当前图形设置为正方形图形
axis eaual 将x,y坐标轴的单位刻度设为相等
axis normal 关闭Axis square和Axis eaual命令
axis off/on 关闭/打开网格线
3.保存坐标轴的范围
variable=axis 变量variable保存一个向量值,这个向量能够以axis的形式应用于设定坐标轴的范围大小
4.保存坐标轴的状态
[s1,s2,s3]=axis(‘state’)
S1:是否自动设定坐标轴的范围
S2:是否关闭坐标轴
S3:所使用的坐标轴种类
添加或取消网格线:
grid on
grid off
坐标轴的名称:
xlabel
ylabel
图形标题:
title
文字在图形中的显示:
1.用坐标轴确定文字位置
text(x,y,string,option)
option为坐标单位决定参数,如果不给出该选项参数,则(x,y)坐标的单位和图中的单位一致,如果该参数取为‘sc’则表示规范化窗口的相对坐标,其变化范围为0~1,即窗口的左下角为(0,0),右上角为(1,1)
2.用鼠标确定文字位置
gtext是交互式文本框标注函数
》gtext(‘string’)可以在鼠标单击的为位置标注一个单行文本框
》gtext({‘string1’,‘string2’,...})可以在鼠标单击的位置标注一个多行文本框
》gtext({‘string1’;‘string2’;...})可以通过多次鼠标单击标注多个文本框
图形的图例和颜色条:
》legend(‘string1’,’string2’,...)
添加图例,并设置各组数据的图例文字为对应位置string的字符串
》legend(‘off’) 清除图例
》legend(‘hide’) 隐藏图例
》legend(‘show’) 显示图例
》colorbar 添加颜色条
函数绘图:
自适应采样绘图函数
》fplot(fname,lims,tol,选项)
其中,fname是函数名,以字符串形式出现;lims是x,y的取值范围;tol是相对允许误差,系统默认值为2e-3;选型定义与plot函数相同。
隐函数绘图:
对于f=f(x) :
》ezplot(f) 默认区间-2*pi~2*pi
》ezplot(f,[a,b])
对于f=f(x,y) :
》ezplot(f)
》ezplot(f,[xmin,xmax,ymin,ymax])
对于参数方程x=x(t)和y=y(t) :
》ezplot(x,y)
》ezplot(x,y,[tmin,tmax])
双Y轴绘图应用
》plotyy(X1,Y1,X2,Y2)
绘制Y1对应于X1并具有Y轴标识在左边的图形与绘制Y2对应于X2并具有Y轴标识在右边的图形
》plotyy(X1,Y1,X2,Y2,fun)
其中fun为matlab中的绘图函数,用户必须使用@或单引号去指定每个绘图方式
》[AX,H1,H2]=plotyy(...)
返回建立于AX的两个坐标轴的句柄值和两条曲线的句柄值H1和H2。其中AX(1)是左方的坐标轴,AX(2)是右方的坐标轴,因此通过这两个值就可以设置滚动条等操作
填充图形的绘制
》fill(X1,Y1)
根据X1和Y1的元素绘制图案填充图,X1和Y1必须长度相同
多坐标系绘图与图形窗口分割
图形的叠印:
单独使用hold可以切换当前绘图叠加模式,将当前绘图窗口的叠加模式从on改为off或者从off