美文网首页
2018-04-10快捷键

2018-04-10快捷键

作者: 煮海三杯水 | 来源:发表于2018-05-19 11:39 被阅读0次

    1.点击ctrl+R,注释程序;可多次点击,多次注释同一次选中的代码;

    点击ctrl+T,取消注释程序。

    2.f(:,1)表示选中矩阵f的第一列的全部元素。

    a:b表示在该维(Dimension,行或列等)选中从a到b的元素,如果只有一个冒号,就代表全部选中。

    比如f(3:5,1)代表选中f第一列的第三个到第五个元素。

    3.zeros函数——生成零矩阵

    ones函数——生成全1阵

    【zeros的使用方法】

    B=zeros(n):生成n×n全零阵。

    B=zeros(m,n):生成m×n全零阵。

    B=zeros([m n]):生成m×n全零阵。

    B=zeros(d1,d2,d3……):生成d1×d2×d3×……全零阵或数组。

    B=zeros([d1 d2 d3……]):生成d1×d2×d3×……全零阵或数组。

    B=zeros(size(A)):生成与矩阵A相同大小的全零阵。

    【ones的使用方法】

    ones的使用方法与zeros的使用方法类似。

    4.指令for i=1:1:100与for i=1:100完全一样,步长为1的循环。

    5.MATLAB中的round函数

    调用格式:Y = round(X)  在matlab中round也是一个四舍五入函数。在matlab的命令窗口中输入doc round或者helpround即可获得该函数的相关帮助信息。

    6.axis OFF

    关闭所用坐标轴上的标记、格栅和单位标记。但保留由text和gtext设置的对象

    axis ON

    显示坐标轴上的标记、单位和格栅。

    7.

    xlabel('正弦函数')

    8.MATLAB中gcf、gca、gco的区别

    http://wenku.baidu.com/link?url=YFQL9yqtan1sR4vCmTQ3wgCDMICjK2O05EUdnk4yxyustakl_PNWI6IPovR_D5RekbUkbMKQ7-RiVDY2u9ToV4iF99SdHbsrjKTg3W22dLe  具体解析

    图形对象

    gcf 返回当前Figure对象的句柄值

    gca返回当前d句柄值

    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的 任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    Axes对象的属性

    (1)title('new','color','r');给坐标轴命名为new,红色

    title({'this title','has 2 '});命名为两行的标题

    (2)Units:有效值为pixels/normalized/inches /centimeters/points/characters

    决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时, 以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。

    (3)grid on:在图像中显示网格。

    (4)children:控制axes对象的子对象,即image\light\line\patch \rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。

    (5) 字体属性:

    Fontangle字体角度(正常normal或斜体italic/oblique)

    Fontname字体名称

    fontsize 字体大小(单位由Fontunits决定)

    fontunits字体单位(points/normalized/inches /centimeters/pixels)

    fontweight字体粗细(normal/bold/light/demi)

    gridlinestyle 决定坐标轴网格线的样式,‘-’为实线‘- -’为虚线‘:’为点线‘-.’为点虚线

    plot(1:10);grid on;set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线

    (6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)

    (7)NextPlot:有效值为add|replace|replacechildren,默认为 replace

    add表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性 (Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren表示移除当前坐标轴中所有子对象,但不重新设置 坐标轴的所有属性

    (8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组 成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1]

    (9)Position位置向量[left,bottom,width,height]组成,决定坐标轴位置

    (10)Tag定义本坐标轴的卷展栏,因为每一个对象都有 自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。

    (11)visible决定坐标轴是否可见

    (12)set(gca,'xgrid','on') 绘制X轴垂直网格线

    set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度

    set(gca,'box','on') 将图轴方框绘制出来

         set(gca,'xscale','linear');将X轴刻度设为线性

    set(gca,'yscale','log'); 将Y轴刻度设为对数

    (14)disp()显示一个数组,但不显示其数组名称

      (15.tic,toc测量函数的执行时间;单位为秒;

    (16).uint16的范围是0-65535,uint8的范围是0-255

    matlab提供强制转换为uint8的函数即uint8(number)。

    但这个函数的做法是把大于255的数全部强制置为255,而小于255的部分则保持原样不变。

    若希望将0-65535的灰度级映射到0-255上,则可采用以下的办法:

    uint8(double(number)/65535*255)

    17.转置   a(:)作用是把矩阵a转换为列向量,就是一列,你可以试一下。

    至于.'是一般转置的意思,这个你显然知道。

    综合上面两个可知a(:).'是把矩阵a转换为一个行向量,就是一行。

    补充:'是共轭转置的意思。当矩阵a是实矩阵时,他和.'作用是一样的,但当a是复矩阵时,二者是有区别的,具体可参见下面这个链接。

    (18.)ind2sub该函数用于把数组中元素索引值转换为该元素在数组中对应的下标

    [I,J] = ind2sub(size,IND)

    这种调用格式适用于二维数组,其中siz是数组的尺寸,通常通过调用size函数获取。IND则是索引值,返回值为索引值为IND的元素在该二维数组内的行列下标。

    [I1,I2,I3,...,In] = ind2sub(siz,IND)

    这种调用格式适用于多维情况。

    [I,J] = ind2sub(siz,IND)

    这种调用格式适用于二维数组,其中siz是数组的尺寸,通常通过调用size函数获取。IND则是索引值,返回值为索引值为IND的元素在该二维数组内的行列下标。

    [I1,I2,I3,...,In] = ind2sub(siz,IND)

    这种调用格式适用于多维情况。

    这种调用格式适用于二维数组,其中siz是数组的尺寸,通常通过调用size函数获取。IND则是索引值,返回值为索引值为IND的元素在该二维数组内的行列下标。

    [I1,I2,I3,...,In] = ind2sub(siz,IND)

    这种调用格式适用于多维情况。

    20.在matlab中[y ind]=sort(X)什么意思啊

    >> A=[8 5 7 3 9 1 7];

    >> [a i]=sort(A)

    a =

    1    3    5    7    7    8    9

    i =

    6    4    2    3    7    1    5

    21.size函数的用法


    22.若x=【1,2,3;4,5,6】,那x(:,1)=[1;4],x(1,:)=[1,2,3],x(1,:)是取某一行

    23.meshgrid是MATLAB中用于生成网格采样点的函数。

    https://jingyan.baidu.com/article/d2b1d1029f82bb5c7f37d45d.html

    24.MATLAB制作切片图主要用到slice命令

    https://jingyan.baidu.com/article/b7001fe1add7dc0e7382dd61.html

    25.colormap在利用matlab绘图时,颜色的设置显得异常重要,优秀的colorbar能让读者对图片所想展示的信息一目了然。而在使用colormap()函数时,matlab已经内置了集中色彩模式包括jet,hsv,hot,cool,spring,summer,autumn,winter,gray,bone,copper,pink以及lines等13中模式,但是使用这些内置模式也许不能满足你的心意,那么可以根据自己的意愿对颜色进行修改,

    https://jingyan.baidu.com/article/9158e00039cfada25512287b.html

    26.matlab函数——shading函数

    是阴影函数控制曲面和图形对象的颜色着色,即用来处理色彩效果的,包括以下三种形式:

    shading faceted:默认模式,在曲面或图形对象上叠加黑色的网格线;

    shading flat:是在shading faceted的基础上去掉图上的网格线;

    shading interp:对曲面或图形对象的颜色着色进行色彩的插值处理,使色彩平滑过渡 ;

    27.axis相关的几条常用命令还有:

    axis auto              自动模式,使得图形的坐标范围满足图中一切图元素

    axis equal                    严格控制各坐标的分度使其相等

    axis square            使绘图区为正方形

    axis on                恢复对坐标轴的一切设置

    axis off                取消对坐标轴的一切设置

    axis manual          以当前的坐标限制图形的绘制

    28.find()函数的所有用法:

    1、 b=find(a),a是一个矩阵,查询非零元素的位置,如果X是一个行向量,则返回一个行向量,否则,返回一个列向量。如果X全是零元素或者是空数组,则返回一个空数组,例子如下所示,也可以用b=find(a>2),这句的意思是在a中找到比较2大的元素;

    2、b=find(a,2),找出a中最先出现的2个不为零的数,a是你所要找的矩阵,2参数是指数量;

    3.3、c=find(a,2,'first'),用法和上例基本一样;

    https://zhidao.baidu.com/question/178286906.html

    29.floor函数:朝负无穷大方向取整

    2、用法说明:

          y = floor(x) 函数将x中元素取整,值y为不大于本身的最小整数。对于复数,分别对实部和虚部取整

    3、用法举例

    30.ceil-向正无穷大方向取整。

     ceil   Round towards plus infinity.

        ceil(X) rounds the elements of X to the nearest integers

        towards infinity.

    31.sort函数

    给数列a从小到大排列,找前几个最大的。如下:[b,i]=sort(a)。b为从小到大的数字,i为对应位置。要找前3个,如下输入:>> a=[3,15,6,21,18,2,18,19,1,4,7,29, 21 ,23 ,29 ,23, 14, 6, 9 ,29 ,31];

    >> [b,i]=sort(a)

    b =  Columns 1 through 12      1    2    3    4    6    6    7    9    14    15    18    18  

    Columns 13 through 21    19    21    21    23    23    29    29    29    31

    i =  Columns 1 through 12      9    6    1    10    3    18    11    19    17    2    5    7  

    Columns 13 through 21      8    4    13    14    16    12    15    20    21

    >> b(19:21)

    ans =    29    29    31

    >> i(19:21)

    ans =    15    20    21

    32.索引无法生成多个结果。一般是前面的变量名重复了。

    sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,'descend')是降序排序。

    sort(A)若A是矩阵,默认对A的各列进行升序排列

    sort(A,dim)

    dim=1时等效sort(A)

    dim=2时表示对A中的各行元素升序排列

    看下面的例子

    >> A=magic(3)

    A =

    8 1 6

    3 5 7

    4 9 2

    >> sort(A)

    ans =

    3 1 2

    4 5 6

    8 9 7

    >> sort(A,1)

    ans =

    3 1 2

    4 5 6

    8 9 7

    >> sort(A,2)

    ans =

    1 6 8

    3 5 7

    2 4 9

    ===================

    Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 [sA,index] = sort(A) ,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引。 索引使排列逆运算成为可能。

    事实上,这里A ≡sA(index) , [A恒等于sA(index)],这个结论确实很奇妙,而且很有用。不信你排序之后试下键入命令sA(index) ,看看得到的是不是就是排列前的A呢。

    =====================

    在Matlab中排序某个向量(一维)时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可,如 果排序后还需要保留原来的索引可以用返回值,即[B,ind]=sort(A),计算后,B是A排序后的向量,A保持不变,ind是B中每一项对应于A中 项的索引。排序是安升序进行的。

    在Matlab中,访问矩阵中的元素,一维用A(1)访问向量A的第一个元素;(下标从1开始);二维用A(1,2)访问A中第一行,第二列的元素。

    由于在sort函数的结果中,是安升序排序的,要转换成降序,先用X=eye(n)生成一个n维的单位阵,然后用X=rot90(X)将其旋转为次对角线的单位阵,再用原来矩阵乘以X即可,如要讲A逆序排列采用如下步骤:

    X=eye(size(A));

    X=rot90(X);

    A=A*X;

    假如a是一个2*n的矩阵,即两行.

    b=a(1,:);

    [c,pos]=sort(b);%pos为排序后的下标,c为第一行的排序结果;

    a(2,:)=a(2,pos);%第二行按照第一行排序的下标对应

    a(1,:)=c;%第一行结果重新赋给a 的第一行

    以下适用于m*n的矩阵按第一行排序

    [ b, pos ] = sort( a( 1, : ) );

    a = a( :, pos );

    =======================

    matlab按某一列排序,其他列不变办法

    b=sortrows(a,2)    %a 为要排序的矩阵。2表示按第几列进行排序,整数代表升序,负数代表降序。

    %将矩阵a按照第2列的升序排列,其他列不会作升序排列,而是将跟随着第2列 的变化,保持一一对应。

    b=sortrows(a,-3)

    %将矩阵a按照第3列的降序排列,其他列将跟随着第3列 的变化,保持一一对应。

    data =

    1     3     2

    7     6     5

    4     9     8

    sortrows(data,1)

    ans =

    1     3     2

    4     9     8

    7     6     5

    sortrows(data,-1)

    ans =

    7     6     5

    4     9     8

    1     3     2

    Example 1

    Sort horizontal vector A:

    A = [78 23 10 100 45 5 6];

    sort(A)

    ans =

    5     6    10    23    45    78   100

    Example 2

    Sort matrix A in each dimension:

    A = [ 3 7 5

    0 4 2 ];

    sort(A,1)

    ans =

    0     4     2

    3     7     5

    sort(A,2)

    ans =

    3     5     7

    0     2     4

    Sort it again, this time returning an array of indices for theresult:

    [B, IX] = sort(A, 2)

    B =

    3     5     7

    0     2     4

    IX =

    1     3     2

    1     3     2

    Example 3

    Sort each column of matrix A in descendingorder:

    A = [ 3  7  5

    6  8  3

    0  4  2 ];

    sort(A,1,'descend')

    ans =

    6   8   5

    3   7   3

    0   4   2

    This is equivalent to

    sort(A,'descend')

    ans =

    6   8   5

    3   7   3

    0   4   2

    相关文章

      网友评论

          本文标题:2018-04-10快捷键

          本文链接:https://www.haomeiwen.com/subject/nztnhftx.html