zoukankan      html  css  js  c++  java
  • matlab基础

    1. 1.         Matlab计算向量中的元素个数

    n=size(A),当只有一个输出参数时,size函数返回的是一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。

    求矩阵的行数、列数:

    [M,N]=size(A);%M为行数,N为列数

    或者

    M=size(A,1)%M为行数

    n=numel(A)该语句返回数组中元素的总数.

    n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A));如果A为空数组,则返回0;如果A是一个向量则返回A的长度。

    1. 2.         Matlab中到底什么是axis

    axis一般用来设置axes的样式,包括坐标轴范围,可读比例等

    axis([xmin xmax ymin ymax])

    axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 坐标轴设置

    v = axis

    axis auto

    axis manual

    axis tight

    axis fill

    axis ij

    axis xy

    axis equal

    axis image

    axis square

    axis vis3d

    axis normal 坐标轴刻度比例等

    axis off

    axis on 显示与否

    axis(axes_handles,...)  根据axes设置

    [mode,visibility,direction] = axis('state')  返回当前axes属性

    1. 3.         MATLAB 任意三维散点画曲面图

    只有x,y,z三组点的坐标,这在MATLAB里面是只能话散点图的, plot3就可以实现。

    但是如果想用这三组坐标画曲面图就要进行一定的处理。

    首先要明白的是,什么样的数据才可以在MATLAB里面画出曲面。是格栅式的数据。help surf 就知道应该是什么样了。也就是说,把坐标空间正交分割,必须有曲面上每个格点的坐标才能画图,那么要进行的就是数据的插值:

    [X,Y,Z]=griddata(x,y,z,linspace(xmin,xmax)',linspace(ymin,ymax),'v4'); %插值

    其中,linspace的作用是在xmin和xmax之间均匀取点,默认100个,v4是一种插值算法,当然也可以取其他的方法,z看做是x,y的函数,得到了X,Y,Z就满足画图的条件,直接画图。

    figure

    pcolor(X,Y,Z);shading interp%伪彩色图

    figure

    contourf(X,Y,Z) %等高线图

    figure

    surf(X,Y,Z)%三维曲面

    要注意的是,插值的时候,谁是自变量谁是因变量对插值的效果有很大影响。代码如下:

    [X,Y,Z]=griddata(x,y,z,linspace(1.486,4.271)',linspace(1.604,4.276),'v4');%插值

    pcolor(X,Y,Z);shading interp%伪彩色图

    figure,contourf(X,Y,Z) %等高线图

    figure,surf(X,Y,Z)%三维曲面

    另,subplot(m,n,p)或者subplot(mnp)此函数最常用:subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。

    1. 4.         自带函数的用法

    linspace是Matlab中的一个指令,用于产生指定范围内的指定数量点数,相邻数据跨度相同,并返回一个行向量。

    调用方法:linspace(x1,x2,N)

    功       能:用于产生x1,x2之间的N点行矢量,相邻数据跨度相同。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。若N=1,则返回x2。

    matlab文件读入fopen函数和写入fprintf函数

    fopen()是个将数据按指定格式读入到matlab中的函数。

    fprintf()是个将数据按指定格式写入到文本文件中的函数。

    结构体struct是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。

    结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问

    结构体是一群向量的集合。

    NAN就是代表不是一个数据,没有意义的数,常常是分母为0的时候出现。

    经常用在下面两种情况

    1.数据处理时,在实际工程中经常数据的缺失或者不完整,缺省设置为nan。

    2.还有就是绘图的时候,如果我们想挖掉一部分,那么nan就起作用了。

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

    生成绘制3D图形所需的网格数据。在计算机中进行绘图操作时, 往往需要一些采样点,然后根据这些采样点来绘制出整个图形。在进行3D绘图操作时,涉及到x、y、z三组数据,而x、y这两组数据可以看做是在Oxy平面内对坐标进行采样得到的坐标。

    [X,Y] = meshgrid(x,y)

    解释:输出X的每一行的数值都是复制的x的值;输出Y的每一列的数值都是复制的y的值。

    norm求向量的模

    dot(A,B)向量点乘,对应位置元素相乘后相加;

    cross(A,B)向量叉乘,得到的是一个向量,与A、B组成的平面垂直,满足右手法则;计算就是写成矩阵形式,求行列式的方法计算得到;

    矩阵乘积,就是按矩阵乘法做。

    直接在代码后面加grid on %加网格grid minor%加密网格

    1. 5.         程序结构

    while 1

       操作代码;

       if(条件)

          break;%跳出循环

        end

    end

    这样就能保证一进入该段代码就能首先进行一次“操作代码”,然后用操作代码得到的结果作为if语句的判断条件。实现了do...while()结构。

  • 相关阅读:
    putty如何退出全屏模式
    maven项目如何生成war文件
    使用web.xml方式加载Spring时,获取Spring context的两种方式
    Mybatis 示例之 SelectKey
    psql主主复制
    【转】angular使用代理解决跨域
    Error: EACCES: permission denied when trying to install ESLint using npm
    Run Code Once on First Load (Concurrency Safe)
    [转]对于BIO/NIO/AIO,你还只停留在烧开水的水平吗
    golang 时间的比较,time.Time的初始值?
  • 原文地址:https://www.cnblogs.com/USTBlxq/p/12107912.html
Copyright © 2011-2022 走看看