丹徒网站,wordpress修改网站菜单位置,wordpress页脚底部代码,彩虹云商城网站利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍#xff0c;为了在这个过程中加深印象#xff0c;也为了能够有所足迹#xff0c;我会把自己的学习总结发在专栏中#xff0c;以便学习交流。
参考书目#xff1a;《MATLAB基础教程 (第三版) (薛山)》
之前的章节都是…利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍为了在这个过程中加深印象也为了能够有所足迹我会把自己的学习总结发在专栏中以便学习交流。
参考书目《MATLAB基础教程 (第三版) (薛山)》
之前的章节都是基础的数据运算用法对于功课来说更加重要的内容是建模、绘图、观察数据趋势接下来我会结合自己的使用经验来为大家分享绘图、建模使用的小技巧。
在本章中的代码会以资源的形式发在我的博客里供大家免费下载学习。 句柄图形---图形对象 句柄图形HandleGraphics是MATLAB中用于创建图形的面向对象系统。图形句柄提供多种绘图命令如绘制线条、文本、网格和多边形以及构建图形用户界面GUI。
通过图形句柄MATLAB能够操作图形元素这些元素是生成各种图形的基础。利用图形句柄可以在MATLAB中调整图形显示效果和创建绘图函数等。
图形对象是MATLAB中显示数据的基本绘图元素每个对象都有一个唯一的标识符即句柄。通过句柄可以操作现有的图形对象并控制其属性。
MATLAB中这些对象的组织形式为层次结构如图所示 MATLAB中的图形对象主要分为核心图形对象和复合图形对象两种类型。核心图形对象用于创建绘图元素可以通过高级绘图函数和复合图形对象进行调用。复合图形对象由核心对象构成为用户提供更便捷的接口。复合图形对象是多个子类的基础如Plot对象、Annotation对象、Group对象和GUI图形用户界面对象等。这些图形对象相互关联、相互依赖共同构成MATLAB的图形系统。
下面将介绍这些图形对象。 1 Root对象
Root对象是根对象位于MATLAB层次结构的最顶层。在MATLAB中创建图形对象时只能生成一个唯一的Root对象所有其他对象均属于该对象。根对象在启动MATLAB时由系统自动创建用户可以设置其属性以改变图形的显示效果。 2 Figure对象
Figure是MATLAB中用于显示图形的窗口包含菜单栏、工具栏、图形用户界面对象、右键菜单、坐标系及其子对象等。MATLAB允许用户同时创建多个图形窗口。
如果尚未创建图形对象即Figure窗口调用任意绘图函数或图像显示函数如plot和imshow等将自动生成一个图形窗口。如果根对象已包含一个或多个图形窗口则总有一个窗口被设为“当前”窗口作为所有当前绘图函数的输出窗口。
Figure对象常用属性和属性值如下表所示 3 Core对象
Core对象包含基本的绘图单元如线条、文本、多边形及一些特殊对象。例如表面图中包括矩形方格、图像和光照对象后者虽然不可视但会影响某些对象的色彩方案。
MATLAB中的核心对象Core对象如下表所示 例创建核心图形对象
[x,y] meshgrid([-2:.4:2]);
Z x.*exp(-x.^2-y.^2);
fh figure(Position,[350 450 520 740],Color,b);
ah axes(Color,[.8 .8 .8],XTick,[-2 -1 0 1 2],...YTick,[-2 -1 0 1 2]);
sh surface(XData,x,YData,y,ZData,Z,...FaceColor,get(ah,Color).1,...EdgeColor,k,Marker,o,...MarkerFaceColor,[.5 1 .85]); 更改一下视角
view(3) 4 Plot对象
MATLAB的一些高级绘图函数可以创建Plot对象。通过Plot对象的属性用户可以快速访问其包含的核心Core对象的重要属性。
Plot对象的上级对象可以是坐标系Axes对象或组Group对象。
在MATLAB中能够生成Plot对象的函数及其功能如下表所示 创建Plot对象
[x,y,z] peaks;
[c,h] contour(x,y,z); 对线型和线宽进行设置
set(h,LineWidth,3,LineStyle,:) 5 Annotation对象
Annotation对象是MATLAB中的注释内容存在于坐标系中该坐标系的范围覆盖整个图形窗口。用户可以通过规范化坐标将注释对象放置于图形窗口中的任何位置。规范化坐标的范围为0到1其中窗口的左下角为[0,0]右上角为[1,1]。 例通过注释矩形区域包含子图
x -2*pi:pi/12:2*pi;
y x.^2;
subplot(2,2,1:2)
plot(x,y)
h1 subplot(223);
y x.^4;
plot(x,y)
h2 subplot(224);
y x.^5;
plot(x,y) 接下来确定注释矩形区域的位置及大小
p1 get(h1,Position);
t1 get(h1,TightInset);
p2 get(h2,Position);
t2 get(h2,TightInset);
x1 p1(1)-t1(1);y1 p1(2)-t1(2);
x2 p2(1)-t2(1);y2 p2(2)-t2(2);
w x2-x1t1(1)p2(3)t2(3);h p2(4)t2(2)t2(4); 创建注释矩形区域包含第3个和第4个子图将该区域的颜色设置成半透明的红色边界为实边界。
annotation(rectangle,[x1,y1,w,h], ...FaceAlpha,.2,FaceColor,red,EdgeColor,red); 6 Group对象
Group对象允许用户将多个坐标系子对象作为一个整体进行操作例如可以设置整个组的可视性或通过改变组对象的属性重新设置其中所有对象的位置等。MATLAB中有两种类型的组
1. hggroup用于创建一组对象并希望通过对该组中的任何一个对象进行操作来控制整个组的可视性或选中状态。hggroup通过hggroup函数创建。
2. hgtransform用于对一组对象进行变换包括选中、平移、尺寸变化等。
hggroup组和hgtransform组之间的主要区别在于hgtransform可以通过变换矩阵对其中的所有子对象进行操作。