Matlab图形的编辑含绘图修改的奥义.docx

上传人:b****7 文档编号:10540128 上传时间:2023-02-21 格式:DOCX 页数:44 大小:232.81KB
下载 相关 举报
Matlab图形的编辑含绘图修改的奥义.docx_第1页
第1页 / 共44页
Matlab图形的编辑含绘图修改的奥义.docx_第2页
第2页 / 共44页
Matlab图形的编辑含绘图修改的奥义.docx_第3页
第3页 / 共44页
Matlab图形的编辑含绘图修改的奥义.docx_第4页
第4页 / 共44页
Matlab图形的编辑含绘图修改的奥义.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

Matlab图形的编辑含绘图修改的奥义.docx

《Matlab图形的编辑含绘图修改的奥义.docx》由会员分享,可在线阅读,更多相关《Matlab图形的编辑含绘图修改的奥义.docx(44页珍藏版)》请在冰豆网上搜索。

Matlab图形的编辑含绘图修改的奥义.docx

Matlab图形的编辑含绘图修改的奥义

1matlab 画图中线型,颜色及字体的设置 

1.1plot格式

plot格式中选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)等其它绘图属性

例:

x=0:

0.1:

3*pi;

plot(x,sin(x),'*m',x,cos(x),'+g','LineWidth',2,'MarkerEdgeColor','y','MarkerSize',5);

1.2图形尺寸和字体的设置:

方法:

Flie—ExportSetup,进入如下界面:

Properties一栏中提供四种属性进行设置:

选择size,分别设置Width,Height,选择相应的单位,进行图形尺寸的设置

2.选择Fonts,勾选“CustomSize”,选中“Usefixedfontsize”可以选择固定字体大小,勾选“Customname”,选择字体

2matlab作图标注

2.1坐标轴的标题:

title函数,

其调用格式为:

title('字符串')------字符串可以写中文Leg:

title('biaoti','fontsize',20,'color','r')%标题

2.2坐标轴的说明:

xlabel和ylabel函数,

格式:

xlabel('字符串'),ylabel('字符串')Leg:

xlabel('x','fontsize',20,'color','r')

xlabel('xvaule');给x轴取名字

2.3图形说明文字:

text和gtext函数

A:

text函数:

按指定位置在坐标系中写出说明文字.格式为:

text(x1,y1,'字符串','选项')B:

gtext函数:

按照鼠标点按位置写出说明文字.格式为:

gtext('字符串')Leg:

gtext('y=sin(x)')%加标注

2.4在图形中添加图例框:

legend函数。

其调用格式为:

A.legend('字符串1','字符串2',……)------以字符串1,字符串2……作为图形标注的图例

B.legend('字符串1','字符串2',……,pos)------pos指定图例框显示的位置.

2.5用鼠标点选屏幕上的点:

ginput函数,格式为:

[x,y,button]=ginput(n):

其中:

n为所选择点的数;x,y均为向量,x为所选n个点的横坐标;y为所选n个点的纵坐标.button为n维向量,是所n个点所对应的鼠标键的标号:

1------左键;2------中键;3------右键

在坐标轴上任意标上感兴趣的刻度。

用XTick、YTick、ZTick

如:

x=0:

0.1:

10;

y=x.^2;

h=plot(x,y,'o',x,y);

set(gca,'YTick',[0,10,25,50,80,99],'XTick',[0.5,8,10]);

用XTickLabel、YTickLabel、ZTickLabel属性把标记标签从数值改为字符串:

如将y轴上的值80用字符串代替

x=0:

0.1:

10;

y=x.^2;

h=plot(x,y,'o',x,y);

set(gca,'YTickLabel','0|10|25|50|cutoff|99');

2.6使用多个x轴和y轴

另外可对坐标轴的刻度进行设置,通过点击刻度…

1.刻度位置对应的是原始数据中值,应与数据的范围相当;

2.刻度标签则是相应刻度位置上显示的内容,可以是数字或者是任意的文字

X轴刻度位置也可通过如下命令设置:

set(gca,'xtick',[123])

X轴刻度标签也可通过如下命令设置:

set(gca,'xTickLabel',[‘a’,‘b’,‘c’])

XAxisLocation和YAxisLocation属性指定在图形的哪一侧放置x轴和y轴。

如图3.

x1=0:

0.01:

10;

y1=sin(x1);

h1=line(x1,y1,'Color','r');

ax1=gca;

set(ax1,'XColor','r','YColor','r');

ax2=axes('Position',get(ax1,'Position'),'XAxisLocation','top','YAxisLocation','right','Color','none','XColor','k','YColor','k');

x2=x1;

y2=cos(x2);

h2=line(x2,y2,'Color','k','Parent',ax2);

2.7axis对坐标轴的控制

axis([xminxmaxyminymaxzminzmax])

axis函数的功能丰富,其常常使用的使用方法有:

axisequal:

纵横坐标轴採用等长刻度

axissquare:

产生正方形坐标系(默觉得矩形)

axisauto:

使用默认设置

axisoff:

取消坐标轴

axison:

显示坐标轴

axis([05-33]);//x,y轴范围

3绘图设置

3.1网格设置:

通过gridon/off命令显示/关闭网格

通过gridminor命令控制网格密度

通过set(gca,’xGrid’,’off’)关闭x轴上的网格线,其他类推

3.2曲线设置

可以通过“EditPlot”箭头选中曲线双击进行线形颜色线宽等设置

3.3在单线图上绘制多重线:

有三种办法.

A.第一种方法是利用plot的多变量方式绘制:

plot(x1,y1,x2,y2,...,xn,yn)

B.第二种方法也是利用plot绘制,但加上holdon/off命令的配合:

plot(x1,y1)

holdon

plot(x2,y2)

holdoff

C.第三种方法还是利用plot绘制,但代入矩阵

4一些特殊函数的绘图方法

正态分布图

我们可以用命令normrnd生成符合正态分布的随机数.

normrnd(u,v,m,n)

其中,u表示生成随机数的期望,v代表随机数的方差.

运行:

a=normrnd(10,2,10000,1);

histfit(a)

我们可以得到正态分布的统计直方图与其正态分布拟合曲线.

leg比较正态分布与平均分布的分布图:

yn=randn(30000,1);%%正态分布

x=min(yn):

0.2:

max(yn);

subplot(121)

hist(yn,x)

yu=rand(30000,1);%%平均分布

subplot(122)

hist(yu,25)

极坐标图

polar函数用来绘制极坐标图,调用格式为:

polar(theta,rho,选项)

当中,theta为极坐标极角,rho为极径,选项的内容和plot函数类似。

例:

绘制的极坐标图

 

theta=0:

0.01:

2*pi;

rho=sin(3*theta).*cos(5*theta);

polar(theta,rho,'r');

对数坐标图

semilogx(x1,y1,选项1,x2,y2,选项2,…)

semilogy(x1,y1,选项1,x2,y2,选项2,…)

loglog(x1,y1,选项1,x2,y2,选项2,…)

其他的绘图函数

在线性直角坐标中,其它形式的图形有条形图、阶梯图、杆图和填充图等,所採用的函数分别为:

bar(x,y,选项)     选项在单引號中

stairs(x,y,选项)

stem(x,y,选项)

fill(x1,y1,选项1,x2,y2,选项2,…)

例5-8:

分别以条形图、填充图、阶梯图和杆图形式绘制曲线

x=0:

0.35:

7;

y=2*exp(-0.5*x);

subplot(2,2,1);bar(x,y,'g');

title('bar(x,y,''g'')');axis([0,7,0,2]);

subplot(2,2,2);fill(x,y,'r');

title('fill(x,y,''r'')');axis([0,7,0,2]);

subplot(2,2,3);stairs(x,y,'b');

title('stairs(x,y,''b'')');axis([0,7,0,2]);

subplot(2,2,4);stem(x,y,'k');

title('stem(x,y,''k'')');axis([0,7,0,2]);

5其他一些绘图技巧

5.1图像不显示

在用循环画很多图时,为了减少对内存的占用,可以设置图像不显示,直接保存起来。

其实也很简单,就是在plot等语句前加上一句:

figure('visible','off')。

这样画图时就不显示了!

5.2Legend设置

当遇到图中某些曲线不需要legend时,标注legend可能会存在不对应的问题。

解决方案如下:

每条曲线的绘图命令前用一个参数接受该曲线的句柄,即:

h=plot(x,y);

在配置legend的时候,对应将需要标注legend的曲线句柄集中到一个数组即可,如:

Legend([h1,h2,h3],…

‘curveA’,…

‘curveB’,…

‘curveC’,…)

这样一来,legeng的图中就只标注了h1~h3这三条曲线的标签

另外,可以通过右击legend,选择“Location”,设置legend在图中的位置,这样一来可以保证legend位置的统一性

5.3Matlab如何在一个figure中添加多个datacursor

当你选择datacursor工具时,按住alt键,点左键选择曲线上的点。

那你就可以想要多少个显示就要多少个了。

5.4matlab可不可以建文件夹?

一直以为它不可以,每次都是乖乖地建好,再让它慢慢往里存数据。

其实不然,是我们小瞧了它!

在Matlab里可以通过system这个命令调出dos命令,比如:

执行语句system('mkdirstep1')就可以在当前目录下建立名为”step1"的文件夹!

在实际编程中,可以结合函数exist使用。

比如:

ifexist('Step1')==0

  system('mkdirStep1');

end

即:

先判断当前目录下是否以存在名为Step1的子目录(文件夹),如果不存在,则建立!

Ctrl+C中断正在执行的操作

5.5如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。

5.6figure命令建一个绘图窗口

figure可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口。

当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象。

所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到)。

5.7注释掉一段程序:

%{、%}。

经典方法是用if0,但缺点是不够直观,注释掉的内容仍然保持代码的颜色。

5.8doc命令名,打开命令的帮助文档

5.9boxon%打开图框

5.10closeall

如果开了多个绘图窗口,用这个命令将它们一起关掉

5.11Tab补全

对名称记得不太清楚的命令,可以输入开头的几个字母,然后按Tab键,当只有一个以这些字母开头的命令时,将自动补全命令名,否则显示一个命令名列表,方便从中选择。

当然,只在命令窗口中有效。

5.12cell模式

在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了。

cell模式相当于将其中的代码拷贝到命令窗口中运行。

两个%后接一个空格(%%)开始一个cell。

将输入光标放到一个cell中时,背景将变为浅黄色,Ctrl+Enter执行cell中的代码。

5.13获取文件列表,批处理

MATLAB内置了一些文件操作命令

例如cd(切换工作目录),dir(同ls,显示目录内文件列表)等。

dir命令可以返回目录中的文件和文件夹列表,存在一个结构体数组中。

如果需要对一些数据文件进行批处理,而文件名又没有一定的规律,你可能需要借助于这个命令。

5.14Ctrl+D打开子程序

在MATLAB的Editor中,将输入光标放到一个子程序名称中间,然后按Ctrl+D可以打开该子函数的m文件。

当然这个子程序要在路径列表中(或在当前工作路径中)。

实际上该快捷键对应右键菜单中“OpenSelection”命令。

列出依赖函数

5.15Tools->ShowDependencyReport,

在Editor菜单中,选择Tools->ShowDependencyReport,可以列出当前m文件调用的子程序。

如果需要将程序移动到别的电脑上,使用这个工具可以确保不会漏掉一些东西。

这个工具也适用于文件夹。

5.16单元数组的基本操作

清除cell中的元素

cellname(n1:

n2)=[];

合并如下的两个cell数组

a={'str1','str2','str3'};

b=[1:

3];

c=[a(1:

2),b,a(3)];

得到:

c={'str1'   'str2'   [1x3double]   'str3'}

而c={a(1:

2),b,a(3)}

则得到c= {1x2cell}   [1x3double]   {1x1cell}

cellarray本质上是数组,前一种操作方式与普通数组的操作方式相同,而后一种方式则是将逗号分隔的各个元素分别一个cell,整体作为一个cell数组。

cell的两种引用方式

a

(1)得到{'str1'},因为a是一个cell数组,所以其中的每一个元素都是一个cell,

而a{1}得到'str1'。

5.17GUI程序关闭按钮的callback

为GUI窗口右上角的关闭按钮添加回调函数:

在GUIDE中打开GUI,在没有控件的地方单击,选中整个figure,右键菜单中选择ViewCallbacks->CloseRequestFcn,m文件中将自动添加该回调函数,输入代码就可以了。

对于复杂的文件,还是用fscanf比较方便!

格式很随意!

5.18同步缩放坐标轴linkaxeslinkaxes命令

可以将一个figure中的各个axes指定相同的坐标范围,实现各个绘图同步放大、缩小。

在缩放一个绘图时,其它也会同步缩放。

可以同时关联x、y轴,也可以只关联一个坐标轴。

5.19MATLAB中的字体平滑

在File菜单中打开设置选项(Preferences),在 Fonts 中,选择底部的“Usingantialiasingtosmoothdesktopfonts”,MATLAB中默认字号比较小,可以调大一些(可以在下拉菜单中输入数字,更精细地控制文字大小)。

有衬线字体打开反锯齿后可能会看起来“发虚”。

5.20Set

set(gca,'XTick',[00.10.512]);//在X轴加指定坐标

set(gca,'YTick',[012]);给x轴标记值

set(gca,'linewidth',1);//坐标轴粗细

set(gca,'FontName','TimeNewRoman','FontSize',5);//坐标轴字体

set(gca,'Color','g');//坐标轴颜色

set(gcf,'color',[000]);//背景颜色

set(gca,'ydir','reverse');

set(gca,'ydir','normal')set(gca,'fontsize',15)%改变坐标字体大小

set(gca,'Fontname','TimesewRoman','FontSize',14,'FontWeight','bold','FontAngle','italic')%设置字体为TimesNewRoman,字号为14号,加粗,斜体

set(gca,'XMinorTick','on')%设置x轴最小刻度

set(gca,'YMinorTick','on')%设置y轴最小刻度

set(gca,'LineWidth',2.5)%设置坐标轴的粗细

set(gca,'ticklength',[0.0250.0125]);%设置小刻度长度

set(gca,'tickdir','out')%将小刻度放在坐标轴外面

set(gca,'position',[0.15,0.15,0.80,0.80])%设置图形占画布的比例

set(gcf,'position',[0,0,1200,800])%设置画布的大小

%set(gcf,'FontName','TimeNewRoman','FontSize',25)

set(gca,'xcolor',[1,0,0],'ycolor',[0,1,0])%设置x、y轴的颜色

set(gca,'FontSize',50)%设置坐标字体的大小

5.21可先定义

style={'-','--','*','v'};%这里定义线形

color=jet(4);%这里定义颜色

5.22视角设定view(az,el)

az是方位角,默认为37.5

el是俯视角,默认为30

5.23透视与遮挡

hiddenon与hiddenoff

5.24获取当前绘图坐标的指针h=gca

5.25附件1:

这是什么鬼?

矩阵函数

Expm矩阵指数

Expm1实现expm的M文件

Expm2通过泰勒级数求矩阵指数

Expm3通过特征值和特征向量求矩阵指数

Logm矩阵对数

Sqrtm矩阵开平方根

Funm一般矩阵的计算

泛函——非线性数值方法

Ode23低阶法求解常微分方程

Ode23p低阶法求解常微分方程并绘出结果图形

Ode45高阶法求解常微分方程

Quad低阶法计算数值积分

Quad8高阶法计算数值积分

Fmin单变量函数的极小变化

Fmins多变量函数的极小化

Fzero找出单变量函数的零点

Fplot函数绘图

多项式函数

Roots求多项式根

Poly构造具有指定根的多项式

Polyvalm带矩阵变量的多项式计算

Residue部分分式展开(留数计算)

Polyfit数据的多项式拟合

Polyder微分多项式

Conv多项式乘法

Deconv多项式除法

建立和控制图形窗口

Figure建立图形

Gcf获取当前图形的句柄

Clf清除当前图形

Close关闭图形

建立和控制坐标系

Subplot在标定位置上建立坐标系

Axes在任意位置上建立坐标系Gca获取当前坐标系的句柄

Cla清除当前坐标系

Axis控制坐标系的刻度和形式

Caxis控制伪彩色坐标刻度

Hold保持当前图形

基本X—Y图形

Plot线性图形

Loglog对数坐标图形

Semilogx半对数坐标图形(X轴为对数坐标)

Semilogy半对数坐标图形(Y轴为对数坐标)

Fill绘制二维多边形填充图

特殊X—Y图形

Polar极坐标图

Bar条形图

Stem离散序列图或杆图

Stairs阶梯图

Errorbar误差条图

Hist直方图

Rose角度直方图

Compass区域图

Feather箭头图

Fplot绘图函数

Comet星点图

图形注释

Title图形标题

XlabelX轴标记

YlabelY轴标记

Text文本注释

Gtext用鼠标放置文本

Grid网格线

5.26附件2附属命令:

1.

Figure建立图形

Gcf获取当前图形的句柄

Clf清除当前图形

Close关闭图形

Text文本注释

Gtext用鼠标放置文本

Grid网格线

plot绘制二维线性图形和两个坐标轴

plot3绘制三维线性图形和两个坐标轴

fplot在制定区间绘制某函数的图像。

fplot(‘f’,区域,线型,颜色)

loglog绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx绘制半对数坐标图形

semilogy绘制半对数坐标图形

2、线型:

颜色线型

y黄色.圆点线v向下箭头

g绿色-.组合>向右箭头

b蓝色+点为加号形<向左箭头

m红紫色o空心圆形p五角星形

c蓝紫色*星号h六角星形

w白色.实心小点holdon添加图形

r红色x叉号形状gridon添加网格

k黑色s方形-实线

d菱形--虚线^向上箭头

3、可以用subplot(3,3,1)表示将绘图区域分为三行三列,目前使用第一区域。

此时如要画不同的图形在一个窗口里,需要holdon。

5.27附件3搜索表

Aa

abs绝对值、模、字符的ASCII码值

acos反余弦

acosh反双曲余弦

acot反余切

acoth反双曲余切

acsc反余割

acsch反双曲余割

align启动图形对象几何位置排列工具

all所有元素非零为真

angle相角

ans表达式计算结果的缺省变量名

any所有元素非全零为真

area面域图

argnames函数M文件宗量名

asec反正割

asech反双曲正割

asin反正弦

asinh反双曲正弦

assignin向变量赋值

atan反正切

atan2四象限反正切

atanh反双曲正切

autumn红黄调秋色图阵

axes创建轴对象的低层指令

axis控制轴刻度和风格的高层指令

Bb

bar二维直方图

bar3三维直方图

bar3h三维水平直方图

barh二维水平直方图

base2decX进制转换为十进制

bin2dec二进制转换为十进制

blanks创建空格串

bone蓝色调黑白色图阵

box框状坐标轴

breakwhile或for环中断指令

brighten亮度控制

Cc

capture(3版以前)捕获当前图形

cart2pol直角坐标变为极或柱坐标

cart2sph直角坐标变为球坐标

cat串接成高维数组

caxis色标尺刻度

cd指定当前目录

cdedit启动用户菜单、控件回调函数设计工具

cdf2rdf复数特征值对角阵转为实数块对角阵

ceil向正无穷取整

cell创建元胞数组

cell2struct元胞数组转换为构架数组

celldisp显示元胞数组内容

cellplot元胞数组内部结构图示

char把数值、符号、内联类转换为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1