matlab一些常用的命令(自用)

来源:互联网 发布:淘宝店铺装修注意事项 编辑:程序博客网 时间:2024/06/05 03:57
1.
用法:linspace(x1,x2,N)
功能:linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。

2.
[X,Y] = meshgrid(x,y)
生成采样点的网格,举个例子就明白了x=1:3;y=10:14;[X,Y] = meshgrid(x,y)X =     1     2     3     1     2     3     1     2     3     1     2     3     1     2     3Y =    10    10    10    11    11    11    12    12    12    13    13    13    14    14    14meshgrid的函数应该是这样编出来的:x=x1:d1:x2;y=[y1:d2:y2]';X=ones(size(y))*x;Y=y*ones(size(x))

3.
zeros(M,N) or zeros([M,N])is an M-by-N matrix of zeros.
4.
B = reshape(A,m,n)
返回一个m*n的矩阵B, B中元素是按从A中得到的。如果A中元素个数没有m*n个, 则会引发错误。
5.
A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。
6.
a=   [1   2    3   4]a(:)=[1         3         2        4]
7.
a=J:D:K 生成行向量a=[J,J+D,…,J+m*D],m=fix((K-J)/D)
8.
size(X,1),返回矩阵X的行数;
size(X,2),返回矩阵X的列数

[r,c,m]=size(A)

       输出:r=

                          3

                c=

                          4

                m=

                          1

也就说它把二维矩阵当作第三维为1的三维矩阵,这也如同我们把n维列向量当作n×1的矩阵一样


9. 

blkdiag函数:生成指定对角线元素的矩阵

A = blkdiag(a,b,c,d,...) 函数产生以a,b,c,d,...为对角线元素的矩阵A


10.

find函数用于返回所需要元素的所在位置

11.

b为一维矩阵的话,min是寻找b中的最小值,并返回其坐标和最小值。
>> [x,m]=min(b)              x =0.2311%%x为最小值              m =2%%m为列号,即b(2)为b中的最小值
b为二维矩阵的话,min是按列寻找最小值,并返回其各列的最小值和列号。
>> [x,m]=min(b)              x =0.6154    0.1763    0.4103%%x为各列的最小值              m =1     2     3%%m为每个最小值对应的列号

12.

matlab判断2个数组中不同元素--setdiff

c = setdiff(A, B) 返回在A中有,而B中没有的值,结果向量将以升序排序返回。在集合论中,c = A - B。A和B也可以是字符串细胞数组。


13.

B = repmat(A,m,n)
将矩阵 A 复制 m×n 块,即把 A 作为 B 的元素,B 由 m×n 个 A 平铺而成。B 的维数是 [size(A,1)*m, size(A,2)*n] 。
>> A = [1,2;3,4]
A =
1 2
3 4
>> B = repmat(A,2,3)
B =
1 2 1 2 1 2
3 4 3 4 3 4
1 2 1 2 1 2
3 4 3 4 3 4

14.

函数sparse()的更常用的用法是用来产生稀疏矩阵,具体语法如下:
                    S=vsparse(r,c,s,m,n)
其中r和c是我们希望产生的稀疏矩阵的矩阵中非零元素的行和列索引向量。参数s是一个向量,它包含索引对(r,c)对应的数值,m和n是结果矩阵的行维数和列维数。例如:

>> s=sparse( [3 2 3 4 1 ],[ 1 2 2 3 4 ],[1 2 3 4 5],4,4) 
s =
   (3,1)        1
   (2,2)        2
   (3,2)        3
   (4,3)        4
   (1,4)        5
如果要获得完成的矩阵,可以使用full()函数,函数语法:
   A=full(s)
例如:
>> a=full(s)
a =
     0     0     0     5
     0     2     0     0
     1     3     0     0
     0     0     4     0


15.

A(B): A B都是矩阵

e.g. A=[1 2 3;4 5 6;7 8 9;] B=[1 2;3 4]
>> A(B)
ans =     1     4     7     2

B=[x,y,z]
A(B,B)=[xx xy xz
yx yy yz
zx zy zz]

16.

  a=sum(x);%列求和a=sum(x,2);%行求和a=sum(x(:));%矩阵求和

     17.
矩阵转置:
A' 共轭转置
A.' 转置
>> a=[1,2;3,4];
>> a'
ans =
1 3
2 4
>> a.'
ans =
1 3
2 4
>> b=[1+2i,3-4i;5+6i,7];
>> b'
ans =
1.0000 - 2.0000i 5.0000 - 6.0000i
3.0000 + 4.0000i 7.0000
>> b.'
ans =
1.0000 + 2.0000i 5.0000 + 6.0000i
3.0000 - 4.0000i 7.0000


18

fix(x),floor(x)和ceil(x)函数都是对x取整,只不过取整方向不同而已。

这里的方向是以x轴作为横坐标来看的,向右就是朝着正轴方向,向左就是朝着负轴方向。

fix(x):向0取整(也可以理解为向中间取整)

floor(x):向左取整

ceil(x):向右取整

举例:

4个数:a=3.3、b=3.7、c=-3.3、d=-3.7

fix(a)=3

floor(a)=3

ceil(a)=4

------------------------

fix(b)=3

floor(b)=3

ceil(b)=4

----------------------

fix(c)=-3

floor(c)=-4

ceil(c)=-3

------------------------

fix(d)=-3

floor(d)=-4

ceil(d)=-3


0 0
原创粉丝点击