>_<:矩陣構造數據結構
1.簡單矩陣構造函數
最簡單的方法是採用矩陣構造符「[]」。構造1´n矩陣(行向量)時,能夠將各元素依次放入矩陣構造符[]內,而且以空格或者逗號分隔;構造m´n矩陣時,每行如上處理,而且行與行之間用分號分隔。spa
2.特殊矩陣構造ip
在MATLAB中還提供一些函數用來構造特殊矩陣,這些函數以下表所示。it
(1)ones(n) 或ones(m,n)產生mXn全爲1的矩陣 (2)zeros(n) 或 zeros(m,n)產生mXn全爲0的矩陣 (3)eye(n)產生nXn的單位矩陣 (4)diag(v)將向量v轉化爲一個對角矩陣 (5)magic(n)產生nXn的模方矩陣[每行每列之和相等] (6)rand(n)或 rand(m,n)產生mXn的隨機矩陣,其中隨機數分佈服從0~1的均勻分佈 (7)randn(n) 或 randn(m,n)產生mXn的隨機矩陣,其中隨機數服從標準高斯分佈[均值爲0方差爲1] (8)randperm(n)產生1~n的隨機排列3.向量構造隨機數
最簡單的方法是採用向量構造符「:」,其經常使用的用法以下。擴展
(1)a:b 返回以a爲起點,以1爲步長,且全部取值在a與b之間的向量。 (2)a:s:b 返回以a爲起點,以s爲步長,且全部取值在a與b之間的向量。
>_<:矩陣大小的改變數據類型
1.矩陣的合併引用
矩陣的合併就是把兩個或者兩個以上的矩陣鏈接成一個新矩陣。矩陣構造符[] 可用於構造矩陣,並能夠做爲一個矩陣合併操做符。方法
Ø 表達式C=[A B]在水平方向合併矩陣A和B [具備相同行數的兩個矩陣,合併爲一個新矩陣,不然不行] Ø 表達式C=[A;B]在豎直方向合併矩陣A和B [具備相同列數的兩個矩陣,合併爲一個新矩陣,不然不行]操做符「:」能夠用來表示矩陣的多個元素。若A是二維矩陣,其主要用法以下:
Ø A(:,:) 返回矩陣A的全部元素。 Ø A(i,:) 返回矩陣A第i行的全部元素。 Ø A(i,k1:k2) 返回矩陣A第i行的自k1到k2列的全部元素。 Ø A(:,j) 返回矩陣A第j列的全部元素。 Ø A(k1:k2,j) 返回矩陣A第j列的自k1到k2行的全部元素。若A是多維矩陣,也能夠經過相似的方法實現對其訪問。
>_<:矩陣信息的獲取
一、矩陣尺寸信息
Ø size(X)或size(X,dim)返回各個方向的長度,以向量的方式存儲;後一個是返回指定方向的長度 Ø length(x)返回各個方向中最長長度 Ø ndims(A)矩陣的維數 Ø numel(A)矩陣的元素個數二、元素的數據類型[is---略]
三、矩陣的數據結構[is---略]
四、矩陣結構的改變
Ø reshape(A,m,n)把A從新排列爲mXn的矩陣[按照長列向量的順序重排元素] Ø rot90(A)或rot90(A,k)逆時針旋轉矩陣900或k*900 Ø fliplr(A)以豎直方向爲軸作鏡像 Ø filpud(A)以水平方向爲軸作鏡像 Ø flipdim(A,dim)以指定軸作鏡像[1水平、2豎直] Ø transpose(A)矩陣的轉秩至關於B=A.' Ø ctranspose(A)矩陣的共軛轉秩至關於B=A'>_<:稀疏矩陣
Ø 在MATLAB中,能夠用滿矩陣存儲方式和稀疏矩陣存儲方式來存儲矩陣。 Ø 若一個矩陣只有少數的元素非零,稱爲稀疏矩陣。稀疏矩陣非零元素及其對應的下標來表示。 Ø 用戶能夠建立雙精度、複數和邏輯等類型的稀疏矩陣。二、查看稀疏矩陣
MATLAB提供一些函數用於查看稀疏矩陣的信息,以下表所示:
Ø nnz(X)返回非零值個數 Ø nonzeros(A)返回非0值 Ø nzmax(S)返回用於存儲非零值的空間長度
[matlab自帶的稀疏矩陣矩陣west0479:導入load west0479 能夠用spy(west0479)圖形化顯示稀疏矩陣非零值分佈
三、稀疏矩陣的運算規則
在MATLAB中的各類命令和函數均可以用於稀疏矩陣的運算,而且遵循以下的一些約定。
Ø 把矩陣變爲標量或者定長向量的函數老是給出滿矩陣; Ø 對於標量或者定長向量變換到矩陣的函 數,如函數zeros()、ones()、eye()、rand()等老是給出滿矩陣;