1. 程式人生 > >MATLAB中常用函式

MATLAB中常用函式

一 . 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,則計算結果為一個**行向量**,且該行向量與原來的行向量相同。
    

這裡寫圖片描述

    若A為一個矩陣,sum(A,2)表示對矩陣A橫向相加,即求每行的和,其結果是列向量。 
    而sum(A)和sum(A,1)表示縱向相加,即求每列的和,其結果是行向量。

這裡寫圖片描述

四 . 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的矩陣