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()结构。

 

posted @ 2019-12-27 16:12  勤奋的小呆  阅读(655)  评论(0编辑  收藏  举报