1、matlab图像输出设置核心方法:通过图像设置命令,直接指定图片的大小。具体操作:(1) 完成画图及相关设置(字体大小、线宽、图例大小也是正常尺寸),(2) 此时WindowStyle is docked,要改为normal,有两种操作:1)在Figure propertiesmore properties中找到Windowstyle,然后用鼠标改为normal;2)或者直接用命令:set (gcf,windowstyle,normal)(3) 根据排版要求,确定图片的宽高,例如320*320 像素,然后使用命令set (gcf,Position,500,300,320,320) set(gc
2、f,Units,centimeters,Position,100 100 9 8);% figure的position中的left bottom width height 是指figure的可画图的部分的左下角的坐标以及宽度和高度。(4) 使用copy figure将图片输出到Word1.figure; 2.hold on;3.set(gca, YTick, 0 : 0.2 : 1);4.box off;5.set(gca, YTickLabel, matlab1, matlab2, matlab3,.6. matlab4, matlab5, matlab6)1.hold on2.xL=xli
3、m;3.yL=ylim;4.plot(xL,yL(2),yL(2),k,xL(2),xL(2),yL(1),yL(2),k)5.box off6.axis(xL yL) 1.t=linspace(0,8,100);% linspace(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. linspace(X1, X2, N) generates N points between X1 and X2.2.a1=axes;% axes Create axes in arbit
4、rary positions. axes(position, RECT) opens up an axis at the specified location and returns a handle to it. RECT = left, bottom, width, height specifies the location and size of the side of the axis box, relative to the lower-left corner of the Figure window, in normalized units where (0,0) is the l
5、ower-left corner and (1.0,1.0) is the upper-right.3.plot(t,sin(t);4.xt=get(gca,xtick);5.set(gca,XTick,XColor,w);6.xL=xlim; 7.p=get(gca,Position);8.box off;1.figure2.a2=axes(Position,p+0,p(4)/2,0,-p(4)/2); % 确定坐标位置,p为上述3.xlim(xL); %定义x轴坐标4.box off;5.set(gca,XTick,xt,Color,None,YTick,); 简单点儿说吧:xtick是刻
6、度(小竖线);xticklabel 刻度值(竖线下面的数值)。set(gca,xtick,-pi:pi/2:pi)这句的意思是:手动设置x轴刻度,-pi到pi之间,每间隔pi/2,划一小竖线;set(gca,xticklabel,-pi,-pi/2,0,pi/2,pi)这句的意思是:给刚才划上的小竖线,标个数值。如果你把它改成:set(gca,xticklabel,a,b,c,d,e),那么那小竖线下就变成:a,b,c,d,e了。希望对你有用!findobjfindobj:特殊属性的图形对象语法:1.findobj:findobj返回根对象的句柄和所有子对象(findobj returns h
7、andles of the root object and all its descendants without assigning the result to a variable.)2.h = findobj:返回根对象的句柄和所有子对象3.h = findobj(PropertyName,PropertyValue,.)返回所有属性名为PropertyName,属性值为PropertyValue的图形对象的句柄。可以指定多个属性/值对。4.h = findobj(PropertyName,PropertyValue,-logicaloperator, PropertyName,Prop
8、ertyValue,.)-logicaloperator可以取值:-and-or-xor-not等5.h = findobj(-regexp,PropertyName,regexp,.)属性名可以使用正则表达式6.h = findobj(-property,PropertyName)如果存在PropertyName这个属性名,就返回此图形句柄7.h = findobj(objhandles,.)限制搜索范围为objhandles和他们的子图中8.h = findobj(objhandles,-depth,d,.)指定搜索深度,深度参数d控制遍历层数,d为inf表示遍历所有层,d为0等同d=fl
9、at9.h = findobj(objhandles,flat,PropertyName,PropertyValue,.)flat限制搜索范围只能是当前层,不能搜索子图。如果句柄指向一个不存在的图形,findobj返回一个错误。findobj正确匹配任何合法属性值,例如:findobj(Color,r)找到所有color值为红的对象。为了寻找满足指定条件的额handle对象,我们可以使用handle.findobj。例子:在当前坐标下查找所有直线对象:h = findobj(gca,Type,line)%gca为当前坐标的句柄查找Label属性设为foo和String设为bar的所有对象:h
10、= findobj(Label,foo,-and,String,bar);查找String不为foo也不为bar的所有对象:h = findobj(-not,String,foo,-not,String,bar);h = findobj(String,foo,-and,Tag,button one,.-and,-not,Color,red,-or,Color,blue)Find all objects for which you have assigned a value to the Tag property (that is, the value is not the empty stri
11、ng ):h = findobj(-regexp,Tag,)Find all children of the current figure that have their BackgroundColor property set to a certain shade of gray (.7 .7 .7). This statement also searches the current figure for the matching property value pair.h = findobj(gcf,-depth,1,BackgroundColor,.7 .7 .7)Matlab正则表达式
12、正则表达式在处理字符串及文本时显得十分方便,在perl, python等脚本语言,以及java, .net等平台上都支援正则表达式。事实上,在MATLAB中也提供了正则表达式的支持。主要包含三个常用的函数:regexp(), regexpi(), regexprep()。其中regexp()用来匹配正则表达式,regexpi()完成类似的功能,但是忽略字符串的大小写,regexprep()则按照指定的pattern完成替换功能。MATLAB正则表达式主要包含以下特殊匹配符号:. 匹配任何单个字符(包括空白字符)abc 匹配括号里包含的任何单个字符,a或b或cabc 匹配括号中字符以外的任何单个
13、字符,任何除a和b和c外的字符a-x 匹配a-x范围内的任何单个字符s 匹配任何空白字符,等效于 fnrtvS 匹配任何非空白字符,等效于 fnrtvw 匹配任何字母,数字或下划线字符,对于英文字符集,等效于a-zA-Z_0-9W 匹配任何除了字母,数字或下划线以外的字符,对于英文字符集,等效于a-zA-Z_0-9d 匹配任何数字,等效于0-9D 匹配任何数字以外的字符,等效于0-9分组和捕获(expr) 分组并捕获(?:expr) 分组但不捕获expr1|expr2 匹配expr1或者expr2非匹配操作符(常用于在正则表达式内添加注释)(?# blabla) blabla是注释内容占位符
14、字符串起始$ 字符串结尾 单词结尾环视(?=expr) 从当前位置向前看(字符串向右的方向),测试是否匹配expr(?!expr) 从当前位置向前看(字符串向右的方向),测试是否不匹配expr(?=expr) 从当前位置向后看(字符串向左的方向),测试是否匹配expr(?!expr) 从当前位置向后看(字符串向左的方向),测试是否不匹配expr定义数量exprm,n 至少m次,最多n次exprm, 至少m次,没有上限exprn 正好n次expr? 出现0次或1次expr* 出现任意次(可以是0次)expr+ 出现1次或更多次捕获(expr) 捕获匹配得到的字符串N 匹配第N次捕获的字符串$N
15、引用第N次捕获的字符串(?(N)s1|s2) 如果存在第N次捕获的字符串,则匹配s1,否则匹配s2给捕获命名(?expr) 给捕获的字符串起名字叫namek 匹配名叫name的被捕获的字符串$ 引用名叫name的被捕获字符串(?(name) s1 | s2) 我想您应该知道是什么意思nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。function y=test1(a,b)if nargin=
16、0a=0;b=0;elseif nargin=1b=0;endy=a+b;Matlab set 函数1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是- 、:、-.、-或none。2.属性的操作 set函数的调用格式为: set(句柄,属性名1,属性值1,属性名2,属性值2,)例子:clearx=0:0.2:12;y1=bessel(1,x);y2=bessel(2,x);y3=bessel(3,x);h=plot(x,y1,x,y2,x,y3);set(h,LineWidth
17、,2;5;8) %set(h,LineWidth,2)=set(h,LineWidth,2),将所有线宽设置为2set(h,Color,r;g;b,LineStyle,-;:;-.) %设置颜色和线宽axis(0 12 -0.5 1) %设置坐标轴范围grid onX=0:1:12;Y=-0.5:0.25:1;set(gca,xtick,X,ytick,Y) %设置网格的显示格式,gca获取当前figure的句柄set(xlabel(Time),FontSize,12,Color,r)y=ylabel(Amplitude);set(y,FontSize,12,Color,g)legend(h,
18、First,Second,Third) %添加图例title(Bessel Functions) %添加标题y,ix=min(y1); %找到y1的最小值以及改值的下标,赋给y和ixtext(x(ix),y,First Min rightarrow,HorizontalAlignment,right) %插入文本具体可改哪些属性值见贴这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。GUI学习笔记:句柄式图形常用函数:(1)get(h)返回句柄值h所指定的图形对象
19、的所有属性名称与相对应的属性值(2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。(3)a = get(0,factory)返回所有能由用户设置的属性的默认定义值。(4)a = get(0,FactoryObjectTypePropertyName1,FactoryObjectTypePropertyName2,.)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。a = get(0,fa
20、ctoryFigureColor)返回Figure对象的Color属性值。(5)a = get(h,DefaultObjectTypePropertyName1,DefaultObjectTypePropertyName1,.)返回句柄值为h的对象指定属性的默认值。如“DefaultFigureColor”。(6)a = get(h,default)列出h对象的所有属性的默认属性值(7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。属性值中用括起来的表示默认值。(8)set(h,a)使用指定的属性值
21、来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。(9)a = set(0,factory)返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。(10)a=set(0,FactoryObjectTypePropertyName)返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。(11)a = set(h,属性名,属性值)设置句柄值为h的对象的与属性名对应的属性值。(12)set(h,DefaultObjectTypePropertyName1,DefaultObjectTy
22、pePropertyName2,.)对句柄值为h的对象设置特定属性名称的属性默认值。(13)H = findobj;返回Root对象与其所有子对象的句柄值(14)H = findobj(h);返回h变量的句柄值(15)H = findobj(属性名称,属性值);依据对象的属性名称和属性值找出匹配的对象句柄值。(16)H = findobj(ObjectHandles,属性名称,属性值);根据限定的对象列表找出与对象的属性名称和属性值匹配的对象句柄值(17)gcf返回当前Figure对象的句柄值gca返回当前axes对象的句柄值gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图
23、形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中Figure对象的属性篇(1).是矩阵每个元素的幂乘,是数的幂乘。(2)set(handle)列出句柄值为handle的对象的所有属性get(handle)除列出上述属性外,还列出可以设置的属性reset(handle)将所有属性改为默认值delete(handle)删除句柄值为handle的图形对象(3)利用set(handle,属性名称)获得句柄值为handle的对象的属性名称下所有可设置的属性值set(gcf,units):得到 inches | centimeters | normali
24、zed | points | pixels | characters ,其中,大括号中是默认值(4)clf reset;将窗口关闭,并重新设置其属性为默认值。(5)Closerequestfcn,有效值为字符串或函数句柄(前加)当关闭绘图窗口或离开Matlab时,就会定义Closerequestfcn定义的函数(6)createfcn,当Matlab建立一个对象时(如为figure对象,即打开一个绘图窗口),就会触发createfcn所定义的callback程序。如set(0,defaultfigurecreatefcn,set(gcbo,integerhandle,off);即设置了根对象的
25、默认值,使每次建立figure对象时,都会指定一个非整数的句柄值。(在用户未指定句柄值时)(7)将当前窗口中在键盘上按下的按键名显示出来。set(gcf,keypressfcn,get(gcf,currentcharacter)(8)color有效值为colorspeccolorspec表:RGB 简称110 y_yellow101 m_magenta011 c_cyan100 r_red010 g_green001 b_blue111 w_white000 k_black(9)linspace(a,b,c):a初始b结束c线性分段次数linspace(a,b)则默认100次(10)Curre
26、ntObject:有效值为图形对象句柄值:返回绘图窗口内当前被鼠标选取的对象的句柄值(11)currentPoint:有效值x-坐标,Y-坐标返回绘图窗口中最后单击鼠标的位置,用get(gcf,currentpoint)就会返回当前在窗口中单击鼠标的位置(12)DeleteFcn:有效值:字符串或函数句柄,删除对象(这里为figure)时会触发Deletefcn所定义的Callback程序。(13)Dockcontrols:有效值为on/off,默认值on,控制窗口的嵌入效果是否可用。(14)Hittest:有效值on/off,决定能否用鼠标选取对象为当前对象。(15)Integerhandl
27、e:有效值on/off,决定Figure对象句柄值的类型为整数或浮点小数。(16)Interruptible:有效值on/off,执行过程中需要中断程序而优先执行其他程序时要设该属性为on。即Interrupptible属性是用以控制当Callback执行时是否能被其他事件(如此时鼠标按下其他控制对象)而中断,on是会中断,off时会执行完当前Callback,再去执行其他Callback。(17)Keypressfcn:有效值为字串或函数句柄。当用户在figure窗口中按下键盘的任意键时,就会执行Keypressfcn所定义的Callback程序。figure(keypressfcn,fpr
28、intf(当前按下键盘上的%c键n,get(gcf,currentcharacter)在这个figure窗口中按下键盘上的按键时就会立即返回对应的字符,依据这个效果就可以决定当字符键被按下时所要执行的操作。当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。(18)WindowButtonDownFcn:有效值为字符串或函数句柄当鼠标在绘图窗口内按下鼠标任意键时,
29、将触发WindowButtonDownFcn所定义的Callback以产生相对应的操作。(19)WindowButtonMotionFcn:有效值为字符串或函数句柄当鼠标在绘图窗口内按住鼠标任意键移动,将触发WindowButtonMotionFcn所定义的Callback以产生相对应的操作。(20)WindowButtonUpFcn:有效值为字符串或函数句柄当鼠标在绘图窗口内释放鼠标任意键时,将触发WindowButtonUpFcn所定义的Callback以产生相对应的操作。(21)CurrentAxes有效值为当前坐标轴的句柄值,返回当前的坐标轴句柄值。假设某坐标轴句柄值为a_h,可以使用axes(a_h)或set(gcf,currentaxes,a_h)这两种方式,制定句柄值为a_h的坐标轴为当前坐标轴。(22)CurrentCharacter:有效值为任意字符,返回用户在绘图窗口中最后输入的一个字符,即刚在键盘上按下的字符键将存储到Currentcharacter中,一般于Keyppressfcn合用。(23)Currentob
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1