MATLAB中常用函数

时间:2023-01-06 06:18:09

一 . matalab 中的zeros()函数和ones()函数

zeros()函数用来生成全0矩阵
ones()函数用来生成全1矩阵

  • zeros()函数的具体用法如下:

    zeros(n):n*n 全零矩阵
    zeros(m,n):m*n全零矩阵
    zeros(d1,d2,d3……dn):生成 d1*d2*d3*……*dn 全零矩阵或数组。
    zeros(size(A)):生成与矩阵A大小相同的全零矩阵。
    
  • ones()函数的具体用法如下:

    ones(n):n*n 全1矩阵
    ones(m,n):m*n全1矩阵
    ones(d1,d2,d3……dn):生成 d1*d2*d3*……*dn 全1矩阵或数组。
    ones(size(A)):生成与矩阵A大小相同的全1矩阵。
    

二 . matlab中的size()函数

  • size()函数的用法:
    • size(A):对于矩阵A,函数size(A)返回一行向量。
      该行向量的第一个元素表示矩阵的行,第二个元素表示矩阵的列.
    • size(A, 1):表示获取矩阵A的行数
    • size(A, 2):表示获取矩阵A的列数

三 . matlab中的sum()函数

  • sum()函数的用法:

    对于sum(A),
    若A为一个**行向量**,不指定dim或者指定dim为2,即sum(A)或者sum(A,2),结果是该行向量所有元素的和;
    如果指定dim为1,则计算结果为一个**行向量**,且该行向量与原来的行向量相同。
    

MATLAB中常用函数

    若A为一个矩阵,sum(A,2)表示对矩阵A横向相加,即求每行的和,其结果是列向量。 
    而sum(A)和sum(A,1)表示纵向相加,即求每列的和,其结果是行向量。

MATLAB中常用函数

四 . matlab中的subplot()函数【百度百科】

  • subplot()函数的用法:subplot(m,n,p)或者subplot(m n p)。

    > subplot()函数可以将多个图画到一个平面上。
    其中,m表示将图排成m行,n表示将图排成n列,**也就是整个figure中有n个图是排成一行的,一共m行**,p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
    > 在matlab的命令窗口中输入doc subplot或者help subplot即可获得该函数的帮助信息。
    
  • 简单的例子

    把绘图窗口分成两行两列四块区域,然后在每个区域分别作图,基本步骤:
    subplot(2,2,1);                 % 2、2、1之间没有逗号也可以
    在第一块绘图
    subplot(2,2,2);
    在第二块绘图
    subplot(2,2,3);
    在第三块绘图
    subplot(2,2,4);
    在第四块绘图
    

五 . matlab 中的data(A(1:5), : )以及data(A(1:5), : )’

引自百度知道里大佬们的回答~

>> A=randperm(10)
A =
     7     9    10     5     8     3     4     6     2     1
>> data=rand(10,4)
data =
    0.8235    0.4898    0.4984    0.9593
    0.6948    0.4456    0.9597    0.5472
    0.3171    0.6463    0.3404    0.1386
    0.9502    0.7094    0.5853    0.1493
    0.0344    0.7547    0.2238    0.2575
    0.4387    0.2760    0.7513    0.8407
    0.3816    0.6797    0.2551    0.2543
    0.7655    0.6551    0.5060    0.8143
    0.7952    0.1626    0.6991    0.2435
    0.1869    0.1190    0.8909    0.9293
>> data(A(1:5),:)
ans =
    0.3816    0.6797    0.2551    0.2543
    0.7952    0.1626    0.6991    0.2435
    0.1869    0.1190    0.8909    0.9293
    0.0344    0.7547    0.2238    0.2575
    0.7655    0.6551    0.5060    0.8143
>> data(A(1:5),:)'
ans =
    0.3816    0.7952    0.1869    0.0344    0.7655
    0.6797    0.1626    0.1190    0.7547    0.6551
    0.2551    0.6991    0.8909    0.2238    0.5060
    0.2543    0.2435    0.9293    0.2575    0.8143
  • A(1:5)=[7 9 10 5 8]。

  • data(A(1:5), : ) 是指分别取二维矩阵data的第7、9、10、5、8行(即A(1:5)),如果不存在该行则会报错。

  • data(A(1:5), : )’是对 data(A(1:5), : ) 进行转置。

六 . matlab中的rand()函数
rand(n),产生0到1之间的随机数,生成n*n的矩阵
rand(m,n),产生0到1之间的随机数,生成m*n的矩阵
rand(1),产生0到1之间的随机数,生成1*1的矩阵