第一篇:MATLAB中用plot命令画出示波器的图形总结1
MATLAB中用plot命令画出示波器的图形总结
这两天碰到一个问题是关于用MATLAB命令把示波器图形画出,经过努力总算得到解决。
看到网上有的同行问怎么改示波器的背景,把示波器波形复制到Word中,我有两种方法,第一种是我一个同学告诉我的,通过命令对示波器进行操作。
具体如下
shh = get(0,'ShowHiddenHandles');set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure')set(gcf,'CloseRequestFcn','closereq')set(gcf,'DefaultLineClipping','Off')set(0,'ShowHiddenHandles',shh)输入以上命令可以直接对示波器进行修改,包括背景和曲线颜色
第二种方法我以前总结过,现在详细说明一下
用MATLAB命令将simulink示波器的图形画出
第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。
如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。
第二步,用plot函数画出曲线
双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。
理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。
curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r')�(:,1)表示取aa的第一列,仿真时间 �(:,2)表示取aa的第二列,示波器的输入一 �(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red)set(curve(1),'linewidth',3)%设置曲线1的粗细 set(curve(2),'linewidth',3)%设置曲线2的粗细 legend('Fuzzy','PID')%曲线名称标注 xlabel('仿真时间(s)')%X坐标轴名称标注 ylabel('幅值')%Y轴坐标轴标注 title('Fuzzy Control VS PID')%所画图的名称 grid on %添加网格
运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。
将不同示波器中的曲线画在一张图上
如何将不同示波器中的曲线画在一张图上,很简单,如下命令解释 curve=plot(f1(:,1),f1(:,2),FP(:,1),FP(:,2),'r',FP(:,1),FP(:,3),'k')�为即示波器1输出的曲线矩阵f1,FP为示波器2输出的曲线矩阵FP 同一示波器内的仿真时间和曲线要相一致,所以f1(:,1),f1(:,2)放一起,FP(:,1),FP(:,2)放一起,不能出现f1(:,1),FP(:,2)的情况
一般示波器不能编辑图片,在命令中窗口输入以下命令即可随意操作了: shh = get(0,'ShowHiddenHandles');set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure')set(gcf,'CloseRequestFcn','closereq')set(gcf,'DefaultLineClipping','Off')set(0,'ShowHiddenHandles',shh)
出现工具菜单,轻松执行数据图片的修改、保存等。
用MATLAB命令将simulink示波器的图形画出
毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用MATLAB命令画出simulink示波器图形的一点方法,我也是MATLAB初学者,所用方法不算高明方法,并且这些方法在论坛应该都能找到,请大家见谅。第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。
第二步,用plot函数画出曲线
双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。
理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。
curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r')�(:,1)表示取aa的第一列,仿真时间
�(:,2)表示取aa的第二列,示波器的输入一 �(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red)set(curve(1),'linewidth',3)%设置曲线1的粗细
set(curve(2),'linewidth',3)%设置曲线2的粗细 legend('Fuzzy','PID')%曲线名称标注
xlabel('仿真时间(s)')%X坐标轴名称标注 ylabel('幅值')%Y轴坐标轴标注 title('Fuzzy Control VS PID')%所画图的名称 grid on %添加网格
运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。
将不同示波器中的曲线画在一张图上
如何将不同示波器中的曲线画在一张图上,很简单,如下命令解释
curve=plot(f1(:,1),f1(:,2),FP(:,1),FP(:,2),'r',FP(:,1),FP(:,3),'k')�为即示波器1输出的曲线矩阵f1,FP为示波器2输出的曲线矩阵FP 同一示波器内的仿真时间和曲线要相一致,所以f1(:,1),f1(:,2)放一起,FP(:,1),FP(:,2)放一起,不能出现f1(:,1),FP(:,2)的情况
菜单里edit->figure properties,然后就可以选中线条设置属性了。
set(0,'ShowHiddenHandles','On')set(gca,'color','w')这样示波器背景就变为白色。
fhandle = findall(0,'type','figure','Name','Scope')set(fhandle,'Menubar','figure')
然后可以像编辑 figure 一样编辑了
方法一:打开示波器属性设置,Date history栏中,variable设置个名字,比如“u”,format设置为Array,关闭。运行模块,在命令窗口中输入命令plot(u),可得曲线,在曲线框中,edit ,copy figure,完成。
方法二:利用万用表,添加测量模块,选中plot select measurement,运行即可得到曲线,然后同上,在曲线框中,edit ,copy figure,完成。
给你一个绝杀版:p 先在示波器的属性里面,Data history页里,把save data to workspace前面的方格勾上,然后开始运行你的系统或者模型~ 然后在command windows里面输入“ plot(ScopeData.signals.time,ScopeData.signals(n).values)” 其中ScopeData.signals(n).values的意思是示波器的第几个波形,比如第二个波形,就是ScopeData.signals(n).values。当然如果你的示波器只显示一个波形,那就只要ScopeData.signals.values就OK啦~ 上面命令输入完毕后就回车,然后会跳出一个波形,你点编辑波形,就可以改它的横轴纵轴,还能加横轴纵轴标签等等,相当的好用呀~ 最后当你的波形编辑好了之后,在目录EDIT里面选择Copy Figure,然后就可以直接粘贴到任何你想粘的地方啦~(≧▽≦)/~
最后有个小补充,如果想要几个波形复合在一起,可以在“ plot(ScopeData.signals.time,ScopeData.signals(n).values)”命令结束后加个“hold on”,然后继续plot你下面要的波形,两个波形就何以画在一个坐标系里了~
最近也在弄波形,如果还有什么不清楚我们可以再一起讨论下~ 希望对你有帮助~
等scope显示出来图像以后,在MATLAB上运行 set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure')这时候你会发现scope的工具栏的上面多了一行,点击insert-axes,鼠标会变成十字形状,然后再图像的任意一处双击左键出现一个对话框PropertyEditor,选中style在窗口的右便会出现color,这时你就可以任意修改背景颜色了。
建议你最好保存数据在workspace里面,用plot的方法打印图形。不要直接复制示波器的波形。
.首先添加一个clock时间控件,输出时间t到一个示波器里。修改该示波器参数,进入到data history,删除limit data,勾选save data to workspace,变量名t,格式array。
2.仿照上面示波器参数设置,修改你所要显示的示波器。设变量名为x 3.在MATLAB主界面(或新建一个m文件)输入:plot(t,x)(ps:有时候t可能不止一列,需要选择一下,如:plot(t(:,1),x))4.整理图像,选edit下copy figure,粘贴入word中。
第二篇:MATLAB中用plot命令画出示波器的图形总结
MATLAB中用plot命令画出示波器的图形总结
这两天碰到一个问题是关于用MATLAB命令把示波器图形画出,经过努力总算得到解决。
看到网上有的同行问怎么改示波器的背景,把示波器波形复制到Word中,我有两种方法,第一种是我一个同学告诉我的,通过命令对示波器进行操作。
具体如下
shh = get(0,'ShowHiddenHandles');set(0,'ShowHiddenHandles','On')set(gcf,'menubar','figure')set(gcf,'CloseRequestFcn','closereq')set(gcf,'DefaultLineClipping','Off')set(0,'ShowHiddenHandles',shh)输入以上命令可以直接对示波器进行修改,包括背景和曲线颜色
第二种方法我以前总结过,现在详细说明一下
>> set(0,'ShowHiddenHandles','On')>> set(gcf,'menubar','figure')
用MATLAB命令将simulink示波器的图形画出
第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。
第二步,用plot函数画出曲线
双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。
理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。
curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r')�(:,1)表示取aa的第一列,仿真时间 �(:,2)表示取aa的第二列,示波器的输入一 �(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red)set(curve(1),'linewidth',3)%设置曲线1的粗细 set(curve(2),'linewidth',3)%设置曲线2的粗细 legend('Fuzzy','PID')%曲线名称标注 xlabel('仿真时间(s)')%X坐标轴名称标注 ylabel('幅值')%Y轴坐标轴标注 title('Fuzzy Control VS PID')%所画图的名称 grid on %添加网格
运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。
Axis([Xmin,Xmax,Ymin,Ymax])命令可以对图形进行截取。
将不同示波器中的曲线画在一张图上
如何将不同示波器中的曲线画在一张图上,很简单,如下命令解释 curve=plot(f1(:,1),f1(:,2),FP(:,1),FP(:,2),'r',FP(:,1),FP(:,3),'k')�为即示波器1输出的曲线矩阵f1,FP为示波器2输出的曲线矩阵FP 同一示波器内的仿真时间和曲线要相一致,所以f1(:,1),f1(:,2)放一起,FP(:,1),FP(:,2)放一起,不能出现f1(:,1),FP(:,2)的情况
利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法 最近写了一篇有关步进电机控制仿真分析的文章,需要将一部分仿真波形图贴到WORD里面去。但贴图时发现,如果直接将simulink中示波器的输出波形截图后贴到word文档中,会有很多不好解决的问题。首先是颜色问题,示波器黑色的底色让图像在打印后几乎看不出来。当然这个还好解决,只要将图片放到系统自带的画图工具中,取个反色就可以了;第二就是输出波形的线的颜色问题。示波器有默认的颜色输出顺序。当要输出多条波形时,有的颜色在取反色后,将变的非常潜,难以看清。这点相对来说不是很好解决,但好在一般前两种颜色在反色后还可以看清;第三就是输出波形的坐标非常小,而且没有对坐标所代表的参数进行标注。为此只好另找显示示波器波形的办法了。
在MATLAB里有个画图函数plot(x1,y1,'parameter1...parameterN',x2,y2,'parameter1...parameterN',.....)。这个函数在命令窗口绘图中经常使用。x是横坐标量,y代表纵坐标量,parameter可以表示曲线颜色、线性等等。问题是如何将simulink里的示波器和这个函数联系起来。双击所要输出波形的示波器,打开示波器参数选择窗口,点击“Data history”标签,将第二个参数“Save data to workspace”打勾(如下图)。可填写变量名和选择格式。变量名随便,好记就行,格式选择Structure with time。
这里顺便说一句。在仿真时经常会出现仿真结束后,示波器显示的波形只有一部分的现象,这是第一个参数“Limit data points to last”被选中的缘故。这个参数被选中,输出点数被限制,当然波形就只能显示一部分了,只不过这样可以节省内存罢了。要全部显示,只要不勾就行了。
一切选择好后,点OK退出,运行仿真。在仿真结束后,在workspace里面会出现一个和前面设定的变量名相同名字的结构体变量。该变量中主要有一个名字为signals的结构体和一个名为time的向量。在signals里面还有一个values的向量。这就是绘制新图形的数据基础。在命令窗口中输入
plot(ScopeData.time,ScopeData.signals.values,'k')这样就可以输出一个坐标清楚的图形了。但是此时的坐标没有标注坐标所代表的量的名称。此时输入xlabel('time(s)'),在X坐标下就会显示time(s)字样,输入ylabel('speed(m/s)'),在Y轴同样输出speed(m/s)字样。改变' '内的字符串,就可以改变坐标下的名字。在命令窗口输入axis([xmin xmax ymin ymax]),就可以限定输出波形的上下界。输入set(gca,'xtick',[a b c d....])可以重新标定坐标刻度,其中“a b c d...”就是重新标定后的刻度值。grid on,grid off 命令可以打开和关闭网格。
经过这些命令一处理,就可以得到非常满意的输出图形了。
第三篇:matlab函数、命令最全的自己总结
《数字图像处理》冈萨雷斯,Matlab函数汇总.图像显示
colorbar
显示彩条
getimage
由坐标轴得到图像数据 ice(DIPUM)交互彩色编辑
image
创建和显示图像对象 imagesc
缩放数据并显示为图像 immovie
由多帧图像制作电影 imshow
显示图像
imview
在Image Viewer中显示图像 montage
将多个图像帧显示为矩阵蒙太奇 movie
播放录制的电影帧
rgbcube
显示一个彩色RGB立方体 subimage
在单个图形中显示多幅图像 truesize
调整图像的显示尺寸
warp
将图像显示为纹理映射的表面
图像文件输入/输出
Dicominfo
从一条DICOM消息中读取元数据 Dicomread
读一幅DICOM图像 Dicomwrite
写一幅DICOM图像
Dicom-dict.txt 包含DICOM数据字典的文本文件 Dicomuid
产生DICOM唯一的识别器 Imfinfo
返回关于图像的文件的信息 Imread
读图像文件 Imwrite
写图像文件
图像算术
Imabsdiff
计算两幅图像的绝对差
Imadd
两幅图像相加或把常数加到图像上 Imcomplement 图像求补
Imdivide
两幅图像相除,或用常数除图像 Imlincomb
计算图像的线性组合
Immultiply
两幅图像相乘或用常数乘图像
Imsubtract
两幅图像相减,或从图像中减去常数 几何变换
Checkerboard
创建棋盘格图像
Findbounds
求几何变换的输出范围
Fliptform
颠倒TFORM结构的输入/输出 Imcrop
修剪图像
Imresize
调整图像大小 Imrotate
旋转图像
Imtransform
对图像应用几何变换 Intline
整数坐标线绘制算法 Makersampler 创建重取样器结构
Maketform
创建几何变换结构(TFORM)Pixeldup(DIPUM)在两个方向上复制图像的像素 Tformarray
对N-D数组应用几何变换 Tformfwd
应用正向几何变换 Tforminv
应用反向几何变换
Vstformfwd(DIPUM)可视化正向几何变换
图像匹配
Cpstruct2pairs 将CPSTRUCT转换为有效的控制点对 Cp2tform
由控制点对推断几何变换 Cpcorr
使用互相关校准控制点位置 Cpselect
控制点选择工具 Normxcorr2 归一化二维互相关
像素值及统计
Corr2
计算二维相关系数
Covmatrix(DIPUM)计算向量族的协方差矩阵 Imcontour
创建图像数据的轮廓线 Imhist
显示图像数据的直方图 Impixel
确定像素的彩色点
Improfile
计算沿着线段的像素值横截面 Mean2
计算矩阵元素的均值 Pixval
显示关于像素的信息 Regionprops
测量图像区域的属性
Statmoments(DIPUM)计算一幅图像直方图的统计中心距 Std2
计算矩阵元素的标准偏差 图像分析(包括分割、描述和识别)
Bayesgauss(DIPUM)高斯模式的贝叶斯分类器
Bound2eight(DIPUM)将4连接边界转换为8连接边界 Bound2four(DIPUM)将8连接边界转换为4连接边界 Bwboundaries
追踪区域边界 Bwtraceboundary
追踪单个边界
Bound2im(DIPUM)
将边界转换为图像 Boundaries(DIPUM)
追踪区域边界 Bsubsamp(DIPUM)对边界二次取样
Colorgrad(DIPUM)
计算一幅RGB图像的向量梯度 Colorseq(DIPUM)
分割一幅彩色图像 Connectpoly(DIPUM)
连接多边形的顶点 Diameter(DIPUM)
测量图像区域的直径
Edge(DIPUM)
在一幅亮度图像中寻找边缘 Fchcode(DIPUM)
计算边界的freeman链码 Frdescp(DIPUM)
计算傅里叶描绘子
Graythresh
使用Ostu方法计算图像的全局阈值 Hough(DIPUM)
Hough变换
Houghlines(DIPUM)
基于Hough变换提取线段 Houghpeaks(DIPUM)
在Hough变换中检测峰值
Houghpixels(DIPUM)
计算属于Hough变换bin的图像像素 Ifrdescp(DIPUM)
计算逆傅里叶描绘子 Imstack2vectors(DIPUM)
从图像堆栈提取向量 Invmoments(DIPUM)
计算图像不变距
Mahalanobis(DIPUM)
计算Mahalanobis距离 Minperpoly(DIPUM)
计算最小周长多边形 Polyangles(DIPUM)
计算多边形内角
Princomp(DIPUM)
得到主分量向量和相关量 Qtdecomp
执行四叉树分解
Qtgetblk
得到四叉树分解中的块值 Qtsetblk
在四叉树中设置块值 Randvertex(DIPUM)
随机置换多边形顶点 Regiongrow(DIPUM)
由区域生长来执行分割 Signature(DIPUM)
计算边界的标记 Specxture(DIPUM)
计算图像的谱纹理
Splitmerge(DIPUM)
使用分离-合并算法分割图像 Statxture(DIPUM)
计算图像中纹理的统计度量 Strsimilarity(DIPUM)
两个串间的相似性度量 X2majoraxis(DIPUM)
以区域的主轴排列坐标x 图像压缩
Compare(DIPUM)
计算和显示两个矩阵间的误差 Entropy(DIPUM)
计算矩阵的熵的一阶估计 Huff2mat(DIPUM)
解码霍夫曼编码矩阵
Huffman(DIPUM)
为符号源建立一个变长霍夫曼码 Im2jpeg(DIPUM)
使用JPEG近似压缩一幅图像
Im2jpeg2k(DIPUM)
使用JPEG2000近似压缩一幅图像 Imratio(DIPUM)
计算两幅图像或变量中的比特率 Jpeg2im(DIPUM)
解码IM2JPEG压缩的图像
Jpeg2k2im(DIPUM)
解码IM2JPEG2K压缩的图像 Lpc2mat(DIPUM)
解压缩一维有损预测编码矩阵 Mat2huff(DIPUM)
霍夫曼编码矩阵
Mat2lpc(DIPUM)
使用一维有损预测编码矩阵 Quantize(DIPUM)
量化UINT8类矩阵的元素
图像增强
Adapthisteq
自适应直方图量化
Decorrstretch
对多通道图像应用去相关拉伸 Gscale(DIPUM)
按比例调整输入图像的亮度 Histeq
使用直方图均衡化来增强对比度 Intrans(DIPUM)
执行亮度变换
Imadjust
调整图像亮度值或彩色映射 Stretchlim
寻找对比度拉伸图像的限制
图像噪声
Imnoise
给一幅图像添加噪声
Imnoise2(DIPUM)
使用指定的PDF生成一个随机数数组 Imnoise3(DIPUM)
生成周期噪声
线性和非线性空间滤波
Adpmedian(DIPUM)
执行自适应中值滤波 Convmtx2
计算二维卷积矩阵 Dftcorr(DIPUM)
执行频率域相关 Dftfilt(DIPUM)
执行频率域滤波 Fspecial
创建预定义滤波器 Medfilt2
执行二维中值滤波 Imfilter
滤波二维和N维图像 Ordfilter2
执行二维顺序统计滤波 Spfilt(DIPUM)
执行线性和非线性空间滤波 Wiener2
执行二维去噪滤波
线性二维滤波器设计
Freqspace
确定二维频率响应间隔 Freqz2
计算二维频率响应
Fsamp2
使用频率取样设计二维FIR滤波器 Ftrans2
使用频率变换设计二维FIR滤波器 Fwind1
使用一维窗法设计二维滤波器 Fwind2
使用二维窗法设计二维滤波器 Hpfilter(DIPUM)
计算频率域高通滤波器 Lpfilter(DIPUM)计算频率域低通滤波器
图像去模糊(复原)
Deconvblind
使用盲去卷积去模糊图像
Deconvlucy
使用Lucy-Richardson方法去模糊 Deconvreg
使用规则化滤波器去模糊 Deconvwnr
使用维纳滤波器去模糊 Edgetaper
使用点扩散函数锐化边缘 Otf2psf
光传递函数到点扩散函数 Pst2otf
点扩散函数到光传递函数
图像变换
Dct2
二维离散余弦变换 Dctmtx
离散余弦变换矩阵
Fan2para
将扇形束投影变换为并行射束 Fanbeam
计算扇形射束变换 Fft2
二维快速傅里叶变换 Fftn
N维快速傅里叶变换 Fftshift
颠倒FFT输出的象限 Idct2
二维逆离散余弦变换 Ifanbeam
计算扇形射束逆变换 Ifft2
二维快速傅里叶逆变换 Ifftn
N维快速傅里叶逆变换 Iradon
计算逆Radon变换
Para2fan
将并行射束投影变换为扇形射束 Phantom
生成头部仿真模型的图像 Radon
计算Radon变换 小波
Wave2gray(DIPUM)
显示小波分解系数
Waveback(DIPUM)
执行多灰度级二维快速小波逆变换 Wavecopy(DIPUM)
存取小波分解结构的系数 Wavecut(DIPUM)
在小波分解结构中置零系数 Wavefast(DIPUM)
执行多灰度级二维快速小波变换 Wavefilter(DIPUM)
构造小波分解和重构滤波器 Wavepaste(DIPUM)在小波分解结构中放置系数 Wavework(DIPUM)
编辑小波分解结构
Wavezero(DIPUM)
将小波细节系数设置为零
领域和块处理
Bestblk
为块处理选择块大小
Blkproc
为图像实现不同的块处理 Col2im
将矩阵列重排为块 Colfilt
按列邻域操作
Im2col
将图像块重排为列
Nlfilter
执行一般的滑动邻域操作
形态学操作(亮度和二值图像)
Conndef
默认连通性 Imbothat
执行底帽滤波
Imclearborder
抑制与图像边框相连的亮结构 Imclose
关闭图像 Imdilate
膨胀图像 Imerode
腐蚀图像
Imextendedmax
最大扩展变换 Imextendedmin
最小扩展变换 Imfill
填充图像区域和孔洞 Imhmax
H最大变换 Imhmin
H最小变换 Imimposemin
强制最小 Imopen
打开图像 Imreconstruct
形态学重构 Imregionalmax
局部最大区域 Imregionalmin
局部最小区域 Imtophat
执行顶帽滤波 Watershed
分水岭变换 形态学操作(二值图像)
Applylut
使用查表法执行邻域操作 Bwarea
计算二值图像中的对象面积 Bwareaopen
打开二值区域(删除小对象)Bwdist
计算二值图像的距离变换 Bweuler
计算二值图像的欧拉数 Bwhitmiss
二值击不中操作
Bwlabel
在二维图像中标记连接分量
Bwlabeln
在N维二值图像中标记连接分量 Bwmorph
对二值图像执行形态学操作 Bwpack
打包二值图像
Bwperim
确定二值图像中的对象的周长 Bwselect
选择二值图像中的对象
Bwulterode
最终腐蚀
Bwunpack
解包二值图像
Endpoints(DIPUM)计算二值图像的端点 Makelut
构建applylut使用的查找表 结构元素(STREL)的创建和操作 Getheight
得到strel的高度
Getneighbors
得到strel邻域的偏移位置和高度 Getnhood
得到strel邻域
Getsequence
得到分解的strel序列 Isflat
对平坦的strel返回值 Reflect
以其中心反射strel Strel
创建形态学结构元素 Translate
变换strel 基于区域的处理
Histroi(DIPUM)计算图像中的ROI的直方图 Poly2mask
将ROI多边形转换为掩膜 Roicolor
基于颜色选择ROI Roifill
在任意区域内平稳地内插 Roifilt2
对ROI进行滤波 Roipoly
选择多边形ROI 彩色映射处理
Brighten
加亮或加暗彩色映射 Cmpermute
在彩色映射中重排颜色
Cmunique
寻找唯一的彩色映射颜色和相应的图像 Colormap
设置或得到彩色查找表
Imapprox
以很少的颜色近似被索引的图像 Rgbplot
绘制RGB彩色映射分量
彩色空间转换
Applyform
应用独立于设备的彩色空间变换 Hsv2rgb
将HSV值转换为RGB彩色空间 Iccread
读ICC彩色配置文件
Lab2double
将L*a*b*彩色值转换为double类 Lab2uint16
将L*a*b*彩色值转换为uint16类 Lab2uint8
将L*a*b*彩色值转换为uint8类
Makecform
创建独立于设备的彩色空间变换结构 Ntsc2rgb
将NTSC值转换为RGB彩色空间 Rgb2hsv
将RGB值转换为HSV彩色空间 Rgb2ntsc
将RGB值转换为NTSC彩色空间 Rgb2ycbcr
将RGB值转换为YCBCR彩色空间 Ycbcr2rgb
将YCBCR值转换为RGB彩色空间 Rgb2hsi(DIPUM)将RGB值转换为HSI彩色空间 Hsi2rgb(DIPUM)
将HSI值转换为RGB彩色空间 Whitepoint
返回标准照明的XYZ值
Xyz2double
将XYZ彩色值转换为double类 Xyz2uint16
将XYZ彩色值转换为uint16类
数组操作
Circshift
循环地移位数组 Dftuv(DIPUM)
计算网格数组 Padarray
填充数组
Paddedsize(DIPUM)计算用于FFT的最小填充尺寸
图像类型和类型转换
Changeclass
改变一幅图像的类 Dither
使用抖动转换图像
Gray2ind
将亮度图像转换为索引图像
Grayslice
通过阈值处理从亮度图像创建索引图像 Im2bw
通过阈值处理将图像转换为二值图像 Im2double
将图像数组转换为双精度 Im2java
将图像转换为Java图像
Im2java2d
将图像转换为Java缓存的图像对象 Im2uint8
将图像数组转换为8比特无符号整数 Im2uint16
将图像数组转换为16比特无符号整数 Ind2gray
将索引图像转换为亮度图像 Ind2rgb
将索引图像转换为RGB图像 Label2rgb
将标记矩阵转换为RGB图像 Mat2gray
将矩阵转换为亮度图像
Rgb2gray
将RGB图像或彩色映射转换为灰度图像 Rgb2ind
将RGB图像转换为索引图像
其他函数
Conwaylaws(DIPUM)对单个像素应用Conway的遗传定律 Manualhist(DIPUM)交互地生成2模式直方图 Twomodegauss(DIPUM)生成一个2模式高斯函数 Uintlut
基于查找表计算新数组值
工具箱参数
Iptgetpref
获得图像处理工具箱参数的值 Iptsetpref
设置图像处理工具箱参数的值
matlab 标注连通域
clear;clc;f=imread('c:1.jpg');gray_level=graythresh(f);f=im2bw(f,gray_level);[l,n]=bwlabel(f,8)imshow(f)hold on for k=1:n [r,c]=find(l==k);rbar=mean(r);cbar=mean(c);plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k','MarkerFaceColor','k','MarkerSize',10);plot(cbar,rbar,'Marker','*','MarkerEdgecolor','w');end
主要概念: 1.4连接 8连接
0 1 0 1 p 1 ===> 4连接,p为当前像素点。0 1 0 1 1 1 1 p 1 ====》8连接,p为当前像素点。1 1 1 2.bwlabel()函数
语法: [ L, num]=bwlabel(f,conn)其中f是一副二值图像,conn用来指定期望的连接(不是4就是8),默认为8,输出L称为标记矩阵,参数num给出所找到连接分量的总数。
3.find()函数
该函数非常有用,会返回指定条件的索引值,在标记矩阵中的作用是返回对应对象的索引。I = FIND(X)returns the linear indices corresponding to the nonzero entries of the array X.X may be a logical expression.Use IND2SUB(SIZE(X),I)to calculate multiple subscripts from the linear indices I.find(bwlabel(bw)==2)表示的意思是连通域2中的数值所在向量的位置。
4.mean()函数
求数组平均值
matlab函数_连通区域
1、matlab函数bwareaopen——删除小面积对象
格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。算法:
(1)Determine the connected components.确定所连接的组件。L = bwlabeln(BW, conn);(2)Compute the area of each component.计算各成分的面积。S = regionprops(L, 'Area');(3)Remove small objects.去除小物体。bw2 = ismember(L, find([S.Area] >= P));
2、matlab函数bwarea——计算对象面积
格式:total = bwarea(BW)作用:估计二值图像中对象的面积。
注:该面积和二值图像中对象的像素数目不一定相等。
3、matlab函数imclearborder——边界对象抑制
格式:IM2 = imclearborder(IM,conn)作用:抑制和图像边界相连的对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。
注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures.算法:
(1)Mask image is the input image.(2)Marker image is zero everywhere except along the border, where it equals the mask image.4、matlab函数bwboundaries——获取对象轮廓
格式:B = bwboundaries(BW,conn)(基本格式)作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell 是Q×2的矩阵,对应于对象轮廓像素的坐标。
5、matlab函数imregionalmin——获取极小值区域
格式:BW = imregionalmin(I,conn)作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。
Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.极小区域都具有恒定的强度值,其外部边界象素都具有较高的值相连的像素的分量。
6、matlab函数bwulterode——距离变换的极大值
格式:BW2 = bwulterode(BW,method,conn)作用:终极腐蚀。寻找二值图像BW的距离变换图的区域极大值(regional maxima)。用于距离变换的距离默认为euclidean,连通性为8邻域。
7、regionprops统计被标记的区域的面积分布,显示区域总数。
函数regionprops语法规则为:STATS = regonprops(L,properties)该函数用来测量标注矩阵L中每一个标注区域的一系列属性。
L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。
返回值STATS是一个长度为max(L()的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。
Properties可以是由逗号分割的字符串列表、包含字符串的单元数组、单个字符串'all'或者'basic'。如果properties等于字符串'all',则表4.1中的度量数据都将被计算;如果properties等于字符串'basic',则属性:'Area','Centroid'和'BoundingBox'将被计算。表1就是所有有效的属性字符串
fspecial函数
fspecial函数用于建立预定义的滤波算子,其语法格式为: h = fspecial(type)h = fspecial(type,para)其中type指定算子的类型,para指定相应的参数; type的类型有:
1、'average' averaging filter 为均值滤波,参数为hsize代表模板尺寸,默认值为【3,3】。H = FSPECIAL('average',HSIZE)returns an averaging filter H of size HSIZE.HSIZE can be a vector specifying the number of rows and columns in H or a scalar, in which case H is a square matrix.The default HSIZE is [3 3].2、'disk' circular averaging filter 为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.H = FSPECIAL('disk',RADIUS)returns a circular averaging filter(pillbox)within the square matrix of side 2*RADIUS 1.The default RADIUS is 5.3、'gaussian' Gaussian lowpass filter 为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为【3 3】,sigma为滤波器的标准值,单位为像素,默认值为0.5.H = FSPECIAL('gaussian',HSIZE,SIGMA)returns a rotationally symmetric Gaussian lowpass filter of size HSIZE with standard deviation SIGMA(positive).HSIZE can be a vector specifying the number of rows and columns in H or a scalar, in which case H is a square matrix.The default HSIZE is [3 3], the default SIGMA is 0.5.4、'laplacian' filter approximating the 2-D Laplacian operator 为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为【0,1】,默认值为0.2.H = FSPECIAL('laplacian',ALPHA)returns a 3-by-3 filter approximating the shape of the two-dimensional Laplacian operator.The parameter ALPHA controls the shape of the Laplacian and must be in the range 0.0 to 1.0.The default ALPHA is 0.2.5、'log' Laplacian of Gaussian filter 为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为【3 3】,sigma为滤波器的标准差,单位为像素,默认值为0.5.H = FSPECIAL('log',HSIZE,SIGMA)returns a rotationally symmetric Laplacian of Gaussian filter of size HSIZE with standard deviation SIGMA(positive).HSIZE can be a vector specifying the number of rows and columns in H or a scalar, in which case H is a square matrix.The default HSIZE is [5 5], the default SIGMA is 0.5.6、'motion' motion filter 为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0;
H = FSPECIAL('motion',LEN,THETA)returns a filter to approximate, once convolved with an image, the linear motion of a camera by LEN pixels, with an angle of THETA degrees in a counter-clockwise direction.The filter becomes a vector for horizontal and vertical motions.The default LEN is 9, the default THETA is 0, which corresponds to a horizontal motion of 9 pixels.7、'prewitt' Prewitt horizontal edge-emphasizing filter 用于边缘增强,大小为【3 3】,无参数
H = FSPECIAL('prewitt')returns 3-by-3 filter that emphasizes horizontal edges by approximating a vertical gradient.If you need to emphasize vertical edges, transpose the filter H: H'.[1 1 1;0 0 0;-1-1-1].8、'sobel' Sobel horizontal edge-emphasizing filter 用于边缘提取,无参数
H = FSPECIAL('sobel')returns 3-by-3 filter that emphasizes horizontal edges utilizing the smoothing effect by approximating a vertical gradient.If you need to emphasize vertical edges, transpose the filter H: H'.[1 2 1;0 0 0;-1-2-1].9、'unsharp' unsharp contrast enhancement filter 为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为【0,1】,默认值为0.2.H = FSPECIAL('unsharp',ALPHA)returns a 3-by-3 unsharp contrast
enhancement filter.FSPECIAL creates the unsharp filter from the negative of the Laplacian filter with parameter ALPHA.ALPHA controls the shape of the Laplacian and must be in the range 0.0 to 1.0.The default ALPHA is 0.2.M文件命名的规则总结如下:
1.M文件名不能与MATLAB的内部函数名相同。
M文件名的命名最好是由大小写英文字母/数字/下划线等组成。如果出现相同MATLAB通常会提示。
2.文件名首字符不能是数字或下划线。
如果首字母是数字或者下划线,MATLAB通常提示找不到该文件。
3.M文件名中不能有空格。
若需要用两个或以上单词组合作为文件名,各单词必须直接连接组合(可把每个单词首字母大写以作区分或使用下划线)。
如何查看MATLAB自带函数的源代码
MATALB属于半开源软件,其中很多函数可以通过“open/edit/type filename”命令进行编辑和查看源代码。但是有一些函数仅仅可以找到它的帮助文档,却无法看到具体的源代码,比如min,fft,sum等函数,因为这些函数属于MATLAB的built-in function(内置函数),即MATLAB的built-in function的代码是不公开的,有人说这些函数的算法是最优化的,保证较低的时间复杂度提高效率,所以,我感觉写一个算法优先考虑调用MATLAB自带函数,自带函数解决不了的情况下,再自己去写,毕竟自己写的代码的效率无法达到最优。
要确定哪些函数可以看代码哪些函数不可以看代码,可以通过which命令:
上图中的函数fft, sum, min属于MATLAB的built-in function,无法看代码,只能通过“help/type filename”来看帮助文档,通过这个路径一路查下去,M文件里面也只有帮助文档,没有源代码。最后一个函数axis.m就不是built-in函数,可以通过 “edit/open/type filename”来查看源代码。
matlab命令
一、常用对象操作:除了一般windows窗口的常用功能键外。
1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。
2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。
3、功能键: 功能键 快捷键 说明
方向上键 Ctrl P 返回前一行输入 方向下键 Ctrl N 返回下一行输入 方向左键 Ctrl B 光标向后移一个字符 方向右键 Ctrl F 光标向前移一个字符 Ctrl 方向右键 Ctrl R 光标向右移一个字符 Ctrl 方向左键 Ctrl L 光标向左移一个字符 home Ctrl A 光标移到行首 End Ctrl E 光标移到行尾 Esc Ctrl U 清除一行 Del Ctrl D 清除光标所在的字符 Backspace Ctrl H 删除光标前一个字符
Ctrl K 删除到行尾
Ctrl C 中断正在执行的命令
4、clc可以命令窗口显示的内容,但并不清除工作空间。
二、函数及运算
1、运算符:
+:加,-:减,*:乘,/: 除,:左除 ^: 幂,‘:复数的共轭转置,2、常用函数表:
sin()正弦(变量为弧度)Cot()余切(变量为弧度)sind()正弦(变量为度数)Cotd()余切(变量为度数)asin()反正弦(返回弧度)
acot()反余切(返回弧度)
Asind()反正弦(返回度数)
acotd()反余切(返回度数)
cos()余弦(变量为弧度)
exp()指数
cosd()余弦(变量为度数)
log()对数
acos()余正弦(返回弧度)
log10()以10为底对数 acosd()余正弦(返回度数)
sqrt()开方
tan()正切(变量为弧度)realsqrt()返回非负根 tand()正切(变量为度数)
abs()取绝对值
atan()反正切(返回弧度)angle()返回复数的相位角 atand()反正切(返回度数)
mod(x,y)返回x/y的余数 sum()向量元素求和
3、其余函数可以用help elfun和help specfun命令获得。
4、常用常数的值: pi 3.1415926…….realmin 最小浮点数,2^-1022 i 虚数单位
realmax 最大浮点数,(2-eps)2^1022 j 虚数单位
Inf 无限值
:制定运算顺序。()eps 浮点相对经度=2^-52 NaN 空值
三、数组和矩阵:
1、构造数组的方法:增量发和linspace(first,last,num)first和last为起始和终止数,num为需要的数组元素个数。
2、构造矩阵的方法:可以直接用[ ]来输入数组,也可以用以下提供的函数来生成矩阵。ones()创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量 zeros()创建一个所有元素都为0的矩阵 eye()创建对角元素为1,其他元素为0的矩阵
diag()根据向量创建对角矩阵,即以向量的元素为对角元素 magic()创建魔方矩阵
rand()创建随机矩阵,服从均匀分布 randn()创建随机矩阵,服从正态分布 randperm()创建随机行向量
horcat C=[A,B],水平聚合矩阵,还可以用cat(1,A,B)vercat C=[A;B],垂直聚合矩阵, 还可以用cat(2,A,B)repmat(M,v,h)将矩阵M在垂直方向上聚合v次,在水平方向上聚合h次 blkdiag(A,B)以A,和B为块创建块对角矩阵 length 返回矩阵最长维的的长度 ndims 返回维数
numel 返回矩阵元素个数
size 返回每一维的长度,[rows,cols]=size(A)reshape 重塑矩阵,reshape(A,2,6),将A变为2×6的矩阵,按列排列。rot90 旋转矩阵90度,逆时针方向 fliplr 沿垂轴翻转矩阵 flipud 沿水平轴翻转矩阵 transpose 沿主对角线翻转矩阵
ctranspose 转置矩阵,也可用A’或A.’,这仅当矩阵为复数矩阵时才有区别 inv 矩阵的逆 det 矩阵的行列式值 trace 矩阵对角元素的和
norm 矩阵或矢量的范数,norm(a,1),norm(a,Inf)…….normest 估计矩阵的最大范数矢量 chol 矩阵的cholesky分解 cholinc 不完全cholesky分解 lu LU分解
luinc 不完全LU分解 qr 正交分解
kron(A,B)A为m×n,B为p×q,则生成mp×nq的矩阵,A的每一个元素都会乘上B,并占据p×q大小的空间 rank 求出矩阵的刺 pinv 求伪逆矩阵 A^p 对A进行操作
A.^P 对A中的每一个元素进行操作
四、数值计算
1、线性方程组求解
(1)AX=B的解可以用X=AB求。XA=B的解可以用X= A/B求。如果A是m×n的矩阵,当m=n时可以找到唯一解,m
(3)QR(正交)分解是将一矩阵表示为一正交矩阵和一上三角矩阵之积,A=Q×R[Q,R]=chol(A), X=Q(Ub)(4)cholesky分解类似。
2、特征值
D=eig(A)返回A的所有特征值组成的矩阵。[V,D]=eig(A),还返回特征向量矩阵。
3、A=U×S×UT,[U,S]=schur(A).其中S的对角线元素为A的特征值。
4、多项式Matlab里面的多项式是以向量来表示的,其具体操作函数如下: conv 多项式的乘法
deconv 多项式的除法,【a,b】=deconv(s),返回商和余数 poly 求多项式的系数(由已知根求多项式的系数)polyeig 求多项式的特征值
Polyfit(x,y,n)多项式的曲线拟合,x,y为被拟合的向量,n为拟合多项式阶数。polyder 求多项式的一阶导数,polyder(a,b)返回ab的导数 [a,b]=polyder(a,b)返回a/b的导数。polyint 多项式的积分 polyval 求多项式的值
polyvalm 以矩阵为变量求多项式的值 residue 部分分式展开式
roots 求多项式的根(返回所有根组成的向量)
注:用ploy(A)求出矩阵的特征多项式,然后再求其根,即为矩阵的特征值。
5、插值常用的插值函数如下: griddata 数据网格化合曲面拟合 Griddata3 三维数据网格化合超曲面拟合
interp1 一维插值(yi=interp1(x,y,xi,’method’)Method=nearest/linear/spline/pchip/cubic Interp2 二维插值zi=interp1(x,y,z,xi,yi’method’),bilinear Interp3 三维插值
interpft 用快速傅立叶变换进行一维插值,help fft。mkpp 使用分段多项式 spline 三次样条插值 pchip 分段hermit插值
6、函数最值的求解
fminbnd(‘f’,x1,x2,optiset(,))求f在 x1和x2之间的最小值。Optiset选项可以有‘Display’ ‘iter’/’off’/’final’,分别表示显示计算过程/不显示/只显示最后结果。fminsearch求多元函数的最小值。fzero(‘f’,x1)求一元函数的零点。X1为起始点。同样可以用上面的选项。
五、图像绘制:
1、基本绘图函数
plot 绘制二维线性图形和两个坐标轴 plot3 绘制三维线性图形和两个坐标轴
fplot 在制定区间绘制某函数的图像。fplot(‘f’,区域,线型,颜色)
loglog 绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx 绘制半对数坐标图形 semilogy 绘制半对数坐标图形
2、线型: 颜色 线型
y 黄色.圆点线 v 向下箭头 g 绿色-.组合 > 向右箭头 b 蓝色 点为加号形 < 向左箭头 m 红紫色 o 空心圆形 p 五角星形 c 蓝紫色 * 星号 h 六角星形 w 白色.实心小点 hold on 添加图形 r 红色 x 叉号形状 grid on 添加网格 k 黑色 s 方形-实线
d 菱形--虚线 ^ 向上箭头
3、可以用subplot(3,3,1)表示将绘图区域分为三行三列,目前使用第一区域。此时如要画不同的图形在一个窗口里,需要hold on。
===================
附录1.1 管理用命令
函数名 功能描述 函数名 功能描述
addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径
附录1.2管理变量与工作空间用命令
函数名 功能描述 函数名 功能描述
clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数
load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令
函数名 功能描述 函数名 功能描述 cd 改变当前工作目录 edit 编辑.M文件
delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件!执行操作系统命令
附录1.4窗口控制命令
函数名 功能描述 函数名 功能描述
echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面 format 设置输出格式
附录1.5启动与退出命令
函数名 功能描述 函数名 功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序
附录2.1运算符号与特殊字符
函数名 功能描述 函数名 功能描述 加...续行标志
-减 , 分行符(该行结果不显示)* 矩阵乘;分行符(该行结果显示).* 向量乘 % 解释标志
^ 矩阵乘方!操作系统命令提示符.^ 向量乘方 矩阵转置 kron 矩阵kron积.向量转置 矩阵左除 = 赋值运算 / 矩阵右除 == 关系运算之相等.向量左除 ~= 关系运算之不等./ 向量右除 < 关系运算之小于
: 向量生成或子阵提取 <= 关系运算之小于等于()下标运算或参数定义 > 关系运算之大于 [] 矩阵生成 >= 关系运算之大于等于 {} & 逻辑运算之与
.结构字段获取符 | 逻辑运算之或
.点乘运算,常与其他运算符联合使用(如.)~ 逻辑运算之非 xor 逻辑运算之异成 附录2.2逻辑函数
函数名 功能描述 函数名 功能描述
all 测试向量中所用元素是否为真 is*(一类函数)检测向量状态.其中*表示一个确定的函数(isinf)any 测试向量中是否有真元素 *isa 检测对象是否为某一个类的对象 exist 检验变量或文件是否定义 logical 将数字量转化为逻辑量 find 查找非零元素的下标
附录3.1编程语言
函数名 功能描述 函数名 功能描述
builtin 执行Matlab内建的函数 global 定义全局变量
eval 执行Matlab语句构成的字符串 nargchk 函数输入输出参数个数检验 feval 执行字符串指定的文件 script Matlab语句及文件信息 function Matlab函数定义关键词
附录3.2控制流程
函数名 功能描述 函数名 功能描述 break 中断循环执行的语句 if 条件转移语句
case 与switch结合实现多路转移 otherwise 多路转移中的缺省执行部分 else 与if一起使用的转移语句 return 返回调用函数
elseif 与if一起使用的转移语句 switch 与case结合实现多路转移 end 结束控制语句块 warning 显示警告信息 error 显示错误信息 while 循环语句 for 循环语句
附录3.3交互输入
函数名 功能描述 函数名 功能描述 input 请求输入 menu 菜单生成
keyboard 启动键盘管理 pause 暂停执行
附录3.4面向对象编程
函数名 功能描述 函数名 功能描述
class 生成对象 isa 判断对象是否属于某一类 double 转换成双精度型 superiorto 建立类的层次关系 inferiorto 建立类的层次关系 unit8 转换成8字节的无符号整数 inline 建立一个内嵌对象 附录3.5调试
函数名 功能描述 函数名 功能描述
dbclear 清除调试断点 dbstatus 列出所有断点情况 dbcont 调试继续执行 dbstep 单步执行
dbdown 改变局部工作空间内存 dbstop 设置调试断点
dbmex 启动对Mex文件的调试 sbtype 列出带命令行标号的.M文件 dbquit 退出调试模式 dbup 改变局部工作空间内容 dbstack 列出函数调用关系
附录4.1基本矩阵
函数名 功能描述 函数名 功能描述 eye 产生单位阵 rand 产生随机分布矩阵
linspace 构造线性分布的向量 randn 产生正态分布矩阵 logspace 构造等对数分布的向量 zeros 产生零矩阵 ones 产生元素全部为1的矩阵 : 产生向量
附录4.2特殊向量与常量
函数名 功能描述 函数名 功能描述
ans 缺省的计算结果变量 non 非数值常量常由0/0或Inf/Inf获得 computer 运行Matlab的机器类型 nargin 函数中参数输入个数 eps 精度容许误差(无穷小)nargout 函数中输出变量个数 flops 浮点运算计数 pi 圆周率 i 复数单元 realmax 最大浮点数值 inf 无穷大 realmin 最小浮点数值
inputname 输入参数名 varargin 函数中输入的可选参数 j 复数单元 varargout 函数中输出的可选参数
附录4.3时间与日期
函数名 功能描述 函数名 功能描述 calender 日历 eomday 计算月末 clock 时钟 etime 所用时间函数
cputime 所用的CPU时间 now 当前日期与时间 date 日期 tic 启动秒表计时器
datenum 日期(数字串格式)toc 读取秒表计时器 datestr 日期(字符串格式)weekday 星期函数 datevoc 日期(年月日分立格式)附录4.4矩阵处理
函数名 功能描述 函数名 功能描述 cat 向量连接 reshape 改变矩阵行列个数
diag 建立对角矩阵或获取对角向量 rot90 将矩阵旋转90度 fliplr 按左右方向翻转矩阵元素 tril 取矩阵的下三角部分 flipud 按上下方向翻转矩阵元素 triu 取矩阵的上三角部分 repmat 复制并排列矩阵函数
附录5 特殊矩阵
函数名 功能描述 函数名 功能描述
compan 生成伴随矩阵 invhilb 生成逆hilbert矩阵 gallery 生成一些小的测试矩阵 magic 生成magic矩阵 hadamard 生成hadamard矩阵 pascal 生成pascal矩阵 hankel 生成hankel矩阵 toeplitz 生成toeplitz矩阵
hilb 生成hilbert矩阵 wilkinson 生成wilkinson特征值测试矩阵
附录6.1 三角函数
函数名 功能描述 函数名 功能描述
sin/asin 正弦/反正弦函数 sec/asec 正割/反正割函数
sinh/asinh 双曲正弦/反双曲正弦函数 sech/asech 双曲正割/反双曲正割函数 cos/acos 余弦/反余弦函数 csc/acsc 余割/反余割函数
cosh/acosh 双曲余弦/反双曲余弦函数 csch/acsch 双曲余割/反双曲余割函数 tan/atan 正切/反正切函数 cot/acot 余切/反余切函数
tanh/atanh 双曲正切/反双曲正切函数 coth/acoth 双曲余切/反双曲余切函数 atan2 四个象限内反正切函数
附录6.2指数函数
函数名 功能描述 函数名 功能描述 exp 指数函数 log10 常用对数函数 log 自然对数函数 sqrt平方根函数
附录6.3复数函数
函数名 功能描述 函数名 功能描述 abs 绝对值函数 imag 求虚部函数 angle 角相位函数 real 求实部函数 conj 共轭复数函数 附录6.4数值处理
函数名 功能描述 函数名 功能描述 fix 沿零方向取整 round 舍入取整 floor 沿-∞方向取整 rem 求除法的余数 ceil 沿 ∞方向取整 sign 符号函数
附录6.5其他特殊数学函数
函数名 功能描述 函数名 功能描述 airy airy函数 erfcx 比例互补误差函数
besselh bessel函数(hankel函数)erfinv 逆误差函数 bessili 改进的第一类bessel函数 expint 指数积分函数 besselk 改进的第二类bessel函数 gamma gamma函数 besselj 第一类bessel函数 gammainc 非完全gamma函数 bessely 第二类bessel函数 gammaln gamma对数函数 beta beta函数 gcd 最大公约数
betainc 非完全的beta函数 lcm 最小公倍数 betaln beta对数函数 log2 分割浮点数
elipj Jacobi椭圆函数 legendre legendre伴随函数 ellipke 完全椭圆积分 pow2 基2标量浮点数 erf 误差函数 rat 有理逼近erfc 互补误差函数 rats 有理输出
==================
A a
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 控制轴刻度和风格的高层指令
B b
bar 二维直方图
bar3 三维直方图
bar3h 三维水平直方图
barh 二维水平直方图
base2dec X进制转换为十进制
bin2dec 二进制转换为十进制
blanks 创建空格串
bone 蓝色调黑白色图阵
box 框状坐标轴
break while 或for 环中断指令
brighten 亮度控制
C c
capture(3版以前)捕获当前图形
cart2pol 直角坐标变为极或柱坐标
cart2sph 直角坐标变为球坐标
cat 串接成高维数组
caxis 色标尺刻度
cd 指定当前目录
cdedit 启动用户菜单、控件回调函数设计工具
cdf2rdf 复数特征值对角阵转为实数块对角阵
ceil 向正无穷取整
cell 创建元胞数组
cell2struct 元胞数组转换为构架数组
celldisp 显示元胞数组内容
cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象
chi2cdf 分布累计概率函数
chi2inv 分布逆累计概率函数
chi2pdf 分布概率密度函数
chi2rnd 分布随机数发生器
chol Cholesky分解
clabel 等位线标识
cla 清除当前轴
class 获知对象类别或创建对象
clc 清除指令窗
clear 清除内存变量和函数
clf 清除图对象
clock 时钟
colorcube 三浓淡多彩交叉色图矩阵
colordef 设置色彩缺省值
colormap 色图
colspace 列空间的基
close 关闭指定窗口
colperm 列排序置换向量
comet 彗星状轨迹图
comet3 三维彗星轨迹图
compass 射线图
compose 求复合函数
cond(逆)条件数
condeig 计算特征值、特征向量同时给出条件数
condest 范-1条件数估计
conj 复数共轭
contour 等位线
contourf 填色等位线
contour3 三维等位线
contourslice 四维切片等位线图
conv 多项式乘、卷积
cool 青紫调冷色图
copper 古铜调色图
cos 余弦
cosh 双曲余弦
cot 余切
coth 双曲余切
cplxpair 复数共轭成对排列
csc 余割
csch 双曲余割
cumsum 元素累计和
cumtrapz 累计梯形积分
cylinder 创建圆柱
D d
dblquad 二重数值积分 deal 分配宗量
deblank 删去串尾部的空格符
dec2base 十进制转换为X进制
dec2bin 十进制转换为二进制
dec2hex 十进制转换为十六进制
deconv 多项式除、解卷
delaunay Delaunay 三角剖分
del2 离散Laplacian差分
demo Matlab演示
det 行列式
diag 矩阵对角元素提取、创建对角阵
diary Matlab指令窗文本内容记录
diff 数值差分、符号微分
digits 符号计算中设置符号数值的精度
dir 目录列表
disp 显示数组
display 显示对象内容的重载函数
dlinmod 离散系统的线性化模型
dmperm 矩阵Dulmage-Mendelsohn 分解
dos 执行DOS 指令并返回结果
double 把其他类型对象转换为双精度数值
drawnow 更新事件队列强迫Matlab刷新屏幕
dsolve 符号计算解微分方程
E e
echo M文件被执行指令的显示
edit 启动M文件编辑器
eig 求特征值和特征向量
eigs 求指定的几个特征值
end 控制流FOR等结构体的结尾元素下标
eps 浮点相对精度
error 显示出错信息并中断执行
errortrap 错误发生后程序是否继续执行的控制
erf 误差函数
erfc 误差补函数
erfcx 刻度误差补函数
erfinv 逆误差函数
errorbar 带误差限的曲线图 etreeplot 画消去树
eval 串演算指令
evalin 跨空间串演算指令
exist 检查变量或函数是否已定义
exit 退出Matlab环境
exp 指数函数
expand 符号计算中的展开操作
expint 指数积分函数
expm 常用矩阵指数函数
expm1 Pade法求矩阵指数
expm2 Taylor法求矩阵指数
expm3 特征值分解法求矩阵指数
eye 单位阵
ezcontour 画等位线的简捷指令
ezcontourf 画填色等位线的简捷指令
ezgraph3 画表面图的通用简捷指令
ezmesh 画网线图的简捷指令
ezmeshc 画带等位线的网线图的简捷指令
ezplot 画二维曲线的简捷指令
ezplot3 画三维曲线的简捷指令
ezpolar 画极坐标图的简捷指令
ezsurf 画表面图的简捷指令
ezsurfc 画带等位线的表面图的简捷指令
F f
factor 符号计算的因式分解
feather 羽毛图
feedback 反馈连接
feval 执行由串指定的函数
fft 离散Fourier变换
fft2 二维离散Fourier变换
fftn 高维离散Fourier变换
fftshift 直流分量对中的谱
fieldnames 构架域名
figure 创建图形窗
fill3 三维多边形填色图
find 寻找非零元素下标
findobj 寻找具有指定属性的对象图柄
findstr 寻找短串的起始字符下标
findsym 机器确定内存中的符号变量
finverse 符号计算中求反函数
fix 向零取整 flag 红白蓝黑交错色图阵
fliplr 矩阵的左右翻转
flipud 矩阵的上下翻转
flipdim 矩阵沿指定维翻转
floor 向负无穷取整
flops 浮点运算次数
flow Matlab提供的演示数据
fmin 求单变量非线性函数极小值点(旧版)
fminbnd 求单变量非线性函数极小值点
fmins 单纯形法求多变量函数极小值点(旧版)
fminunc 拟牛顿法求多变量函数极小值点
fminsearch 单纯形法求多变量函数极小值点
fnder 对样条函数求导
fnint 利用样条函数求积分
fnval 计算样条函数区间内任意一点的值
fnplt 绘制样条函数图形
fopen 打开外部文件
for 构成for环用
format 设置输出格式
fourier Fourier 变换
fplot 返函绘图指令
fprintf 设置显示格式
fread 从文件读二进制数据
fsolve 求多元函数的零点
full 把稀疏矩阵转换为非稀疏阵
funm 计算一般矩阵函数
funtool 函数计算器图形用户界面
fzero 求单变量非线性函数的零点
G g
gamma 函数
gammainc 不完全 函数
gammaln 函数的对数
gca 获得当前轴句柄
gcbo 获得正执行“回调”的对象句柄
gcf 获得当前图对象句柄
gco 获得当前对象句柄
geomean 几何平均值
get 获知对象属性
getfield 获知构架数组的域
getframe 获取影片的帧画面
ginput 从图形窗获取数据 global 定义全局变量
gplot 依图论法则画图
gradient近似梯度
gray 黑白灰度
grid 画分格线
griddata 规则化数据和曲面拟合gtext 由鼠标放置解释文字
guide 启动图形用户界面交互设计工具
H h
harmmean 调和平均值
help 在线帮助
helpwin 交互式在线帮助
helpdesk 打开超文本形式用户指南
hex2dec 十六进制转换为十进制
hex2num 十六进制转换为浮点数
hidden 透视和消隐开关
hilb Hilbert矩阵
hist 频数计算或频数直方图
histc 端点定位频数直方图
histfit 带正态拟合的频数直方图
hold 当前图上重画的切换开关
horner 分解成嵌套形式
hot 黑红黄白色图
hsv 饱和色图
I i
if-else-elseif 条件分支结构
ifft 离散Fourier反变换
ifft2 二维离散Fourier反变换
ifftn 高维离散Fourier反变换 ifftshift 直流分量对中的谱的反操作
ifourier Fourier反变换
i, j 缺省的“虚单元”变量
ilaplace Laplace反变换
imag 复数虚部
image 显示图象
imagesc 显示亮度图象
imfinfo 获取图形文件信息 imread 从文件读取图象
imwrite 把
imwrite 把图象写成文件
ind2sub 单下标转变为多下标
inf 无穷大
info MathWorks公司网点地址
inline 构造内联函数对象
inmem 列出内存中的函数名
input 提示用户输入
inputname 输入宗量名
int 符号积分
int2str 把整数数组转换为串数组
interp1 一维插值
interp2 二维插值
interp3 三维插值
interpn N维插值
interpft 利用FFT插值
intro Matlab自带的入门引导
inv 求矩阵逆
invhilb Hilbert矩阵的准确逆
ipermute 广义反转置
isa 检测是否给定类的对象
ischar 若是字符串则为真
isequal 若两数组相同则为真
isempty 若是空阵则为真
isfinite 若全部元素都有限则为真
isfield 若是构架域则为真
isglobal 若是全局变量则为真
ishandle 若是图形句柄则为真
ishold 若当前图形处于保留状态则为真
isieee 若计算机执行IEEE规则则为真 isinf 若是无穷数据则为真 isletter 若是英文字母则为真 islogical 若是逻辑数组则为真 ismember 检查是否属于指定集 isnan 若是非数则为真 isnumeric 若是数值数组则为真 isobject 若是对象则为真 isprime 若是质数则为真 isreal 若是实数则为真 isspace 若是空格则为真 issparse 若是稀疏矩阵则为真 isstruct 若是构架则为真
isstudent 若是Matlab学生版则为真 iztrans 符号计算Z反变换
J j , K k
jacobian 符号计算中求Jacobian 矩阵
jet 蓝头红尾饱和色
jordan 符号计算中获得 Jordan标准型
keyboard 键盘获得控制权
kron Kronecker乘法规则产生的数组
L l
laplace Laplace变换
lasterr 显示最新出错信息
lastwarn 显示最新警告信息
leastsq 解非线性最小二乘问题(旧版)
legend 图形图例
lighting 照明模式
line 创建线对象
lines 采用plot 画线色
linmod 获连续系统的线性化模型
linmod2 获连续系统的线性化精良模型
linspace 线性等分向量
ln 矩阵自然对数
load 从MAT文件读取变量
log 自然对数
log10 常用对数
log2 底为2的对数
loglog 双对数刻度图形
logm 矩阵对数
logspace 对数分度向量
lookfor 按关键字搜索M文件
lower 转换为小写字母
lsqnonlin 解非线性最小二乘问题
lu LU分解
M m
mad平均绝对值偏差 magic 魔方阵
maple &nb, sp;运作 Maple格式指令
mat2str 把数值数组转换成输入形态串数组
material 材料反射模式
max 找向量中最大元素
mbuild 产生EXE文件编译环境的预设置指令
mcc 创建MEX或EXE文件的编译指令 mean 求向量元素的平均值 median 求中位数
menuedit 启动设计用户菜单的交互式编辑工具 mesh 网线图 meshz 垂帘网线图
meshgrid 产生“格点”矩阵
methods 获知对指定类定义的所有方法函数
mex 产生MEX文件编译环境的预设置指令
mfunlis 能被mfun计算的MAPLE经典函数列表 mhelp 引出 Maple的在线帮助
min 找向量中最小元素
mkdir 创建目录
mkpp 逐段多项式数据的明晰化
mod 模运算
more 指令窗中内容的分页显示
movie 放映影片动画
moviein 影片帧画面的内存预置
mtaylor 符号计算多变量Taylor级数展开
N n
ndims 求数组维数
NaN 非数(预定义)变量
nargchk 输入宗量数验证
nargin 函数输入宗量数
nargout 函数输出宗量数
ndgrid 产生高维格点矩阵
newplot 准备新的缺省图、轴 nextpow2 取最接近的较大2次幂
nnz 矩阵的非零元素总数
nonzeros 矩阵的非零元素
norm 矩阵或向量范数
normcdf 正态分布累计概率密度函数 normest 估计矩阵2范数
norminv 正态分布逆累计概率密度函数
normpdf 正态分布概率密度函数 normrnd 正态随机数发生器
notebook 启动Matlab和Word的集成环境
null 零空间
num2str 把非整数数组转换为串
numden 获取最小公分母和相应的分子表达式
nzmax 指定存放非零元素所需内存
O o
ode1 非Stiff 微分方程变步长解算器
ode15s Stiff 微分方程变步长解算器
ode23t 适度Stiff 微分方程解算器
ode23tb Stiff 微分方程解算器
ode45 非Stiff 微分方程变步长解算器
odefile ODE 文件模板
odeget 获知ODE 选项设置参数 odephas2 ODE 输出函数的二维相平面图 odephas3 ODE 输出函数的三维相空间图 odeplot ODE 输出函数的时间轨迹图
odeprint 在Matlab指令窗显示结果
odeset 创建或改写 ODE选项构架参数值 ones 全1数组
optimset 创建或改写优化泛函指令的选项参数值
orient 设定图形的排放方式
orth 值空间正交化
P p
pack 收集Matlab内存碎块扩大内存
pagedlg 调出图形排版对话框
patch 创建块对象
path 设置Matlab搜索路径的指令
pathtool 搜索路径管理器
pause 暂停
pcode 创建预解译P码文件
pcolor 伪彩图
peaks Matlab提供的典型三维曲面
permute 广义转置
pi(预定义变量)圆周率
pie 二维饼图
pie3 三维饼图 pink 粉红色图矩阵
pinv 伪逆
plot平面线图
plot3 三维线图
plotmatrix 矩阵的散点图
plotyy 双纵坐标图
poissinv 泊松分布逆累计概率分布函数
poissrnd 泊松分布随机数发生器
pol2cart 极或柱坐标变为直角坐标
polar 极坐标图
poly 矩阵的特征多项式、根集对应的多项式
poly2str 以习惯方式显示多项式
poly2sym 双精度多项式系数转变为向量符号多项式
polyder 多项式导数
polyfit 数据的多项式拟合polyval 计算多项式的值
polyvalm 计算矩阵多项式
pow2 2的幂
ppval 计算分段多项式
pretty 以习惯方式显示符号表达式
print 打印图形或SIMULINK模型 printsys 以习惯方式显示有理分式 prism 光谱色图矩阵
procread 向MAPLE输送计算程序
profile 函数文件性能评估器 propedit 图形对象属性编辑器
pwd 显示当前工作目录
Q q
quad 低阶法计算数值积分
quad8 高阶法计算数值积分(QUADL)quit 推出Matlab 环境 quiver 二维方向箭头图
quiver3 三维方向箭头图
R r
rand 产生均匀分布随机数 randn 产生正态分布随机数
randperm 随机置换向量 range 样本极差
rank 矩阵的秩
rats 有理输出
rcond 矩阵倒条件数估计
real 复数的实部
reallog 在实数域内计算自然对数
realpow 在实数域内计算乘方
realsqrt 在实数域内计算平方根
realmax 最大正浮点数
realmin 最小正浮点数
rectangle 画“长方框” rem 求余数
repmat 铺放模块数组 reshape 改变数组维数、大小
residue 部分分式展开 return 返回
ribbon 把二维曲线画成三维彩带图 rmfield 删去构架的域 roots 求多项式的根
rose 数扇形图
rot90 矩阵旋转90度 rotate 指定的原点和方向旋转
rotate3d 启动三维图形视角的交互设置功能 round 向最近整数圆整
rref 简化矩阵为梯形形式
rsf2csf 实数块对角阵转为复数特征值对角阵
rsums Riemann和
S s
save 把内存变量保存为文件 scatter 散点图 scatter3 三维散点图 sec 正割 sech 双曲正割
semilogx X轴对数刻度坐标图 semilogy Y轴对数刻度坐标图
series 串联连接 set 设置图形对象属性 setfield 设置构架数组的域
setstr 将ASCII码转换为字符的旧版指令 sign 根据符号取值函数
signum 符号计算中的符号取值函数
sim 运行SIMULINK模型 simget 获取SIMULINK模型设置的仿真参数 simple 寻找最短形式的符号解 simplify 符号计算中进行简化操作
simset 对SIMULINK模型的仿真参数进行设置
simulink 启动SIMULINK模块库浏览器 sin 正弦 sinh 双曲正弦 size 矩阵的大小 slice 立体切片图
solve 求代数方程的符号解 spalloc 为非零元素配置内存 sparse 创建稀疏矩阵
spconvert 把外部数据转换为稀疏矩阵 spdiags 稀疏对角阵
spfun 求非零元素的函数值 sph2cart 球坐标变为直角坐标 sphere 产生球面
spinmap 色图彩色的周期变化 spline 样条插值
spones 用1置换非零元素 sprandsym 稀疏随机对称阵 sprank 结构秩 spring 紫黄调春色图 sprintf 把格式数据写成串
spy 画稀疏结构图 sqrt平方根 sqrtm 方根矩阵
squeeze 删去大小为1的“孤维” sscanf 按指定格式读串
stairs 阶梯图 std 标准差 stem 二维杆图 step 阶跃响应指令
str2double 串转换为双精度值 str2mat 创建多行串数组 str2num 串转换为数 strcat 接成长串 strcmp 串比较 strjust 串对齐 strmatch 搜索指定串 strncmp 串中前若干字符比较 strrep 串替换
strtok 寻找第一间隔符前的内容
struct 创建构架数组 struct2cell 把构架转换为元胞数组
strvcat 创建多行串数组
sub2ind 多下标转换为单下标
subexpr 通过子表达式重写符号对象
subplot 创建子图
subs 符号计算中的符号变量置换
subspace 两子空间夹角
sum 元素和
summer 绿黄调夏色图
superiorto 设定优先级
surf 三维着色表面图
surface 创建面对象
surfc 带等位线的表面图
surfl 带光照的三维表面图
surfnorm 空间表面的法线
svd 奇异值分解
svds 求指定的若干奇异值
switch-case-otherwise 多分支结构
sym2poly 符号多项式转变为双精度多项式系数向量
symmmd 对称最小度排序
symrcm 反向Cuthill-McKee排序
syms 创建多个符号对象
T t
tan 正切 tanh 双曲正切
taylortool 进行Taylor逼近分析的交互界面 text 文字解释 tf 创建传递函数对象 tic 启动计时器 title 图名 toc 关闭计时器 trapz 梯形法数值积分 treelayout 展开树、林 treeplot 画树图
tril 下三角阵 trim 求系统平衡点 trimesh 不规则格点网线图
trisurf 不规则格点表面图 triu 上三角阵 try-catch 控制流中的Try-catch结构 type 显示M文件 U u
uicontextmenu 创建现场菜单 uicontrol 创建用户控件
uimenu 创建用户菜单
unmkpp 逐段多项式数据的反明晰化
unwrap 自然态相角
upper 转换为大写字母
V v
var 方差
varargin 变长度输入宗量
varargout 变长度输出宗量
vectorize 使串表达式或内联函数适于数组运算
ver 版本信息的获取
view 三维图形的视角控制
voronoi Voronoi多边形
vpa 任意精度(符号类)数值
W w
warning 显示警告信息
what 列出当前目录上的文件
whatsnew 显示Matlab中 Readme文件的内容
which 确定函数、文件的位置
while 控制流中的While环结构 white 全白色图矩阵 whitebg 指定轴的背景色 who 列出内存中的变量名
whos 列出内存中变量的详细信息 winter 蓝绿调冬色图
workspace 启动内存浏览器
X x , Y y , Z z
xlabel X轴名 xor 或非逻辑
yesinput 智能输入指令 ylabel Y轴名
zeros 全零数组
zlabel Z轴名
zoom 图形的变焦放大和缩小
ztrans 符号计算Z变换
index must be a positive integer or logical.中文解释:索引必须是正整数或逻辑值
出错原因:一般是由于浮点计算时间上的浮点误差造成的,比如t/dt不一定是正整数,会存在很小的误差。
解决办法:可以采用round(a):四舍五入,比如:round(pi)=3;ceil(a):向上取整,比如:ceil(pi)=4;floor(a):向下取整,比如:floor(pi)=3
第四篇:如何保存MATLAB示波器中的波形[我推荐]
方法一:选edit下copy figure,粘贴入word中。方法二:截图。
选择方法几要清晰一点呢?待解 A:使用示波器保存
1.首先添加一个clock时间控件,输出时间t到一个示波器里。修改该示波器参数,进入到data history,删除limit data,勾选save data to workspace,变量名t,格式array。2.仿照上面示波器参数设置,修改你所要显示的示波器。设变量名为x 3.在MATLAB主界面(或新建一个m文件)输入:plot(t,x)(ps:有时候t可能不止一列,需要选择一下,如:plot(t(:,1),x))4.整理图像,选edit下copy figure,粘贴入word中。
B:使用to workspace保存
参照上面的方法,添加to workspace控件,修改变量名,修改格式为array,最后打印输出
n16501600******.20.40.60.811.21.41.61.82 200Te150100500-50-100-15000.20.40.60.811.21.41.61.82
200Te150100500-50-100-15000.20.40.60.811.21.41.61.82 200Te150100500-50-100-15000.20.40.60.811.21.41.61.82
200Te150100500-50-100-15000.20.40.60.811.21.41.61.82
200Te150100500-50-100-15000.20.40.60.811.21.41.61.82
Scope波形图窗口的大小不同,copy到word中的图片大小就不同
第五篇:MATLAB总结
目录
一、Matlab相关说明.....................................................................2
二、Matlab操作注意事项..............................................................2
三、Matlab常用代码(图像处理相关)......................................5
四、Matlab常用快捷键.................................................................7
五、Matlab学习心得.....................................................................8
一、Matlab相关说明
Matlab是“Matrix Laboratory”的缩写,意为“矩阵实验室”。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C ,JAVA的支持。
我所使用的Matlab版本是2022a,下文所涉及到图片、专业术语等都是以此版本为基础。
二、Matlab操作注意事项
1.打开并运行一个现存的m文件且这个m文件运行时需用到同一级文件夹中的其他文件,会出现如下提示框:
选择变更文件夹,将当前文件夹变更为这个m文件所在的文件夹。
2.不小心点错或关闭了各种小窗口,将Matlab恢复成默认布局
点击桌面—桌面布局—默认
3.查看某个函数的用法
在命令窗口输入该变量的名称,回车即可。
4.查找某个函数的用法
在命令窗口输入help 函数的名称,回车后会自动显示该函数的相关信息。
5.运行文件后报错 如下图所示,命令窗口中报错的第一段是错误的原因,后面几段会显示发生错误的文件夹以及在该文件夹中的位置。
点击文件的名称,会跳转出一个提示框,上面显示了该文件的具体实现功能,如下图所示。点击文件名后面的行标号,可以直接跳转到发生错误的那一行。
6.如何编辑界面?
修改如图所示的fig文件
1.新建一个GUI文件
2.选择打开现存的GUI文件,点击Open,就可以对当前界面进行编辑了。
7.如何将MAtlab中默认的current folder修改为自己想要的路径,每次启动后都默认是自己 设定的这个路径?
>>右键matlab 快捷方式,属性-快捷方式-起始位置 填入你自己的工作目录。8.把图复制到WORD文件的方法:电机EDIT—>Copy Figure—>Ctrl V 9.输入时,标点必须是英文状态下的
10.大多数情况下,matlab对空格不予处理
11.小括号代表运算级别,中括号用于生成矩阵,大括号用于构成单元数组
12.分号;的作用:不显示运算结果,但对图形窗口不起作用。分号也用于区分行,13.逗号,的作用:函数参数分隔符,也用于区分行,显示运算结果,当然不加标点也显示运算结果
14.冒号:多用于数组
15.续行号...不能放在等号后面使用,不能放在变量名中间使用,起作用时默认显蓝色 16.双引号'string'是字符串的标识符 17.感叹号!用于调用操作系统运算
18.百分号%是解释号,百分号后面直到行末的语句matlab跳过执行.另外还有一个块解释,即对多行一次解释,会使用到,格式为(注意%{ 和%}都要单独成行)%{ %} 19.矩阵中用圆括号表示下标,单元数组用大括号表示下标
20.对变量名的基本要求:区分大小写,不超过63个字符,以字母开头,只能是字母,数字和下划线
三、Matlab常用代码(图像处理相关)
1.创建一个文件夹 mkdir('D:myData');2.将图片保存到指定的文件夹
image_source=strcat('result',num2str(loop),'.jpg');imwrite(F.cdata,image_source);3.将电影转成图片序列
fnum=size(mov,2);%读取电影的祯数 for i=1:fnum strtemp=strcat('C:UsersAdministratorDesktopparticalfiltermyself粒子滤波',int2str(i),'.jpg');%将每祯转成jpg的图片 imwrite(mov(i).cdata,strtemp,'jpg');end
4、模拟噪声生成函数和预定义滤波器
① imnoise:用于对图像生成模拟噪声,如:
i=imread('104_8.tif');j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ② fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器
h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器
5、图像文件I/O函数命令
imfinfo 返回图形图像文件信息
语法:info=imfinfo(filename,fmt)info=imfinfo(filename)imread 从图像文件中读取(载入)图像
语法:A=imread(filename,fmt)[X,map]=imread(filename,fmt)[...]=imread(filename)[...]=imread(URL,...)[...]=imread(...,idx)(CUR,ICO,and TIFF only)[...]=imread(...,'frames',idx)(GIF only)[...]=imread(...,ref)(HDF only)[...]=imread(...,'BackgroundColor',BG)(PNG only)[A,map,alpha] =imread(...)(ICO,CUR,PNG only)imwrite 把图像写入(保存)图像文件中
语法:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(...,filename)imwite(...,Param1,Val1,Param2,Val2...)imcrop 剪切图像
语法:I2=imcrop(I)X2=imcrop(X,map)RGB2=imcrop(RGB)I2=imcrop(I,rect)X2=imcrop(RGB,rect)[...]=imcrop(x,y,...)[A,rect]=imcrop(...)[x,y,A,rect]=imcrop(...)
6.impixel 确定像素颜色值
语法:P=impixel(I)P=impixel(X,map)P=impixel(RGB)P=impixel(I,c,r)P=impixel(X,map,c,r)P=impixel(RGB,c,r)[c,r,P]=impixel(...)P=impixel(x,y,I,xi,yi)P=impixel(x,y,RGB,xi,yi)P=impixel(x,y,X,map,xi,yi)[xi,yi,P]=impixel(x,y,...)
7.二进制图像操作函数
applylut 在二进制图像中利用lookup表进行行边沿操作 语法:A=applylut(BW,LUT)bwarea 计算二进制图像对象的面积 语法:total=bwarea(BW)bweuler 计算二进制图像的欧拉数 语法:eul=bweuler(BW)
8.颜色空间转换函数
hsv2rgb 转换HSV值为RGB颜色空间:M=hsv2rgb(H)ntsc2rgb 转换NTSC值为RGB颜色空间:rgbmap=ntsc2rgb(yiqmap)RGB=ntsc2rgb(YIQ)rgb2hsv 转换RGB值为HSV颜色空间:cmap=rgb2hsv(M)rgb2ntsc 转换RGB值为NTSC颜色空间:yiqmap=rgb2ntsc(rgbmap)YIQ=rgb2ntsc(RGB)rgb2ycbcr 转换RGB值为YCbCr颜色空间:ycbcrmap=rgb2ycbcr(rgbmap)YCBCR=rgb2ycbcr(RGB)ycbcr2rgb 转化YCbCr值为RGB颜色空间:rgbmap=ycbcr2rgb(ycbcrmap)RGB=ycbcr2rgb(YCBCR)
9.类型转换函数
im2bw 转换图像为二进制图像
语法:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)im2double 转换图像矩阵为双精度型
语法:I2=im2double(I1)RGB2=im2double(RGB1)I=im2double(BW)X2=im2double(X1,'indexed')double 转换数据为双精度型 语法:double(X)unit8、unit16转换数据为8位、16位无符号整型: i=unit8(x)i=unit16(x)im2unit8 转换图像阵列为8位无符号整型
语法:I2=im2unit8(I1)RGB2=im2unit8(RGB1)I=im2unit8(BW)X2=im2unit8(X1,'indexed')im2unit16 转换图像阵列为16位无符号整型
语法:I2=im2unit16(I1)RGB2=im2unit16(RGB1)I=im2unit16(BW)X2=im2unit16(X1,'indexed')
四、Matlab常用快捷键
1.在命令窗口(Command Window)中:
1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令
2)clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉
3)clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成 4)【Tab】键――在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5)【Ctrl C】(或【Ctrl+Break】)――在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行。6)edit 函数名 查看或编辑源文件 7)who 显示当前变量名列表 8)whos 显示变量详细列表
9)which 函数名 证实该函数是否在当前路径 10)what 列出当前路径的所有matlab文件 11)load 加载外部文件 12)save 保存文件到外部 13)20.matlab的帮助函数: 14)help 15)help 函数名或help 函数类名 精确查询 16)helpwin 打开帮助窗口 17)helpwin 函数名 精确查询 18)helpdesk 打开帮助窗口 19)doc 打开帮助窗口
20)doc 函数名 打开帮助窗口,精确查询
21)lookfor 关键字 这个是matlab中的谷歌,模糊查询
2.在编辑器(Editor)中: 1)【Tab】(或【Ctrl ]】)――增加缩进(对多行有效)2)3)4)5)6)【Ctrl [】--减少缩进(对多行有效)
【Ctrl I】--自动缩进(即自动排版,对多行有效)【Ctrl R】――解释(对多行有效)【Ctrl T】――去掉解释(对多行有效)
【Ctrl B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过)7)【F12】――设置或取消断点 8)【F5】――运行程序
五、Matlab学习心得
接触Matlab一个多月,从刚开始连最基本的操作都不会,到现在能够熟练地运用Matlab解决问题。虽然现在学到的也只是皮毛而已,离精通还相差甚远,但至少为以后研究生期间的学习打下了良好的基础。下面我就简单的谈一下这一个月来的学习感想。
首先,想要学好Matlab必须有一定数学基础。Matlab软件是与高等数学,计算机科学相结合的软件。所以,当你学习Matlab时,你也得会一定的数学。你要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数。这一点对你的程序非常有帮助,可以使你的程序简单,运行效率高,可以节省很多时间。
其次,要注重基础知识于实际操作结合。你把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充。在遇到问题时,不要光看别人如果解决,也不要光想怎么解决,自己坐下来,动手自己解决一下,那你就会把不是你的知识变成自己的知识。
最后,也是最重要的一点就是坚持。MATLAB涉及的领域太多,每个领域里面都缺乏足够的专家分布在你周围。那么我们很难有机会接触到真正的高手,对我们的技术细节一一指点。在遇到实际问题时,就只能靠自己去摸索。常常是再坚持一两个小时,就能够解决你的问题。最大的成就感,就在付出了极大的心血和耐心,才取得一个艰难的小胜利。