天天看點

MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法

MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • 在指派語句後加分号表示:此語句完成指派動作之後,不顯示計算結果
  • 指派語句後不加分号表示:此語句完成指派動作之後,顯示計算結果
  • 如果指派語句沒有左邊的傳回變量,隻有右邊的表達式的話,表達式會直接計算,并将計算結果賦給保留變量ans(answer)。
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • 同一行的不同元素之間,可以用逗号分隔,也可以用空格分隔。
  • 每一行之間,既可以用分号分隔,也可以用換行分隔。
  • 對動态定維的解釋:首先從裡往外看,A是之前輸入的3*3矩陣,因為後面是分号,是以換行,即再給A矩陣增加一行,新增行的行元素是[1 2 3],使之變為4*3的矩陣,再看,後面是逗号,是以是在同一行再增加元素,即在4*3的矩陣右邊再增加矩陣,觀察發現,是一個列向量,即[1;2;3;4],最後輸出結果如下圖所示。
  • 是以得出結論,我們可以随意地修改矩陣的維數,即可以做動态定維。
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • 為什麼要避免B = [1 +9i,2+8i,3+7i;4+6j 5+5i 6+4i;7+3i,8+2j 1i]這樣的語句呢?

    因為這個矩陣的第一行第一列的1 +9i會被計算機了解為1和+9i兩個元素,最終導緻矩陣維數不同(矩陣第一行有4個元素,矩陣的其他行有3個元素),出現錯誤。

MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • 函數調用語句格式解析:等式左邊的方括号内是傳回的變量,傳回的變量名之間可以用逗号連接配接,也可以用空格連接配接。等式右邊首先是函數名稱,括号内是函數的輸入變量。
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
通常,我們使用冒号表達式來生成行向量。
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • V1 = 0: 0.2: pi 這個語句,生成的向量中不包含pi,因為從3再增加0.2的話,就超出了pi的值,是以此行向量中最大的數是3.2。
  • 如果想把pi包含在行向量内,可以利用linspace函數,linspace()可以利用等間距的方法來生成指定數目的點,0代表從0開始,pi代表到pi結束,50代表要生成50個點。
  • MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
    會得到一個空矩陣。
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法

    表示:

    對于行:從第一行開始,步距為二,一直提取到最後一行,也就是提取的奇數行;

    對于列:提取全部列。

    綜上,即提取A矩陣的全部奇數行。

  • MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法

    表示:

    對于行:子矩陣的第一行為A矩陣的第一行,子矩陣的第二行為A矩陣的第二行,同理子矩陣的第三行和第四行也為A矩陣的第一行,即把A矩陣的第一行重複四邊。

    對于列:子矩陣的列為A矩陣的全部列,即提取A矩陣的全部列。

    結果如下圖

MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
  • A = [1,2,3; 4,5,6; 7,8,0]; %表示生成矩陣A
  • B1 = A(1:2:end, : ) %表示子矩陣B1的行是提取自矩陣A的以第一行為開始,步長為2,直至最後一行,子矩陣B1的列是矩陣A的全部列
  • B2 = A([3,2,1], [2 3]) %表示子矩陣B2的第一行是提取自矩陣A的第三行,第二行是提取自矩陣A的第二行,第三行是提取自矩陣A的第一行,子矩陣B2的第一列是提取自矩陣A的第2列,第二列是提取自矩陣A的第三列。
  • B3 = A(: ,end: -1:1) %表示子矩陣B3的行提取自矩陣A的全部行,子矩陣B3的列是提取自矩陣A以最後一列為開始,步長為-1,直至第一行。
  • 結果如下圖所示。
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法
MATLAB(自動控制原理)第2章_MATLAB語言程式設計基礎_02矩陣與向量的輸入方法

繼續閱讀