複製鏈接
請複製以下鏈接發送給好友

FULL

(函數名)

鎖定
FULL在MATLAB中,該函數用於把一個稀疏矩陣sparse matrix)轉換成一個全矩陣(full matrix)(關於sparse matrix和full matrix請參閲sparse)。
中文名
FULL
函數功能
把一個稀疏矩陣轉換成一個全矩陣
語法格式
A = full(S)
軟    件
MATLAB

FULL函數簡介

在matlab中, meshgrid函數的源代碼調用了該函數。在MATLAB命令窗口中鍵入doc full或help full可以獲得該函數的幫助信息。
語法格式:
A = full(S)
把稀疏矩陣S轉換成全矩陣。如果S是一個全矩陣,S將原封不動地被返回。如果A是一個全陣,issparse(A)為0。假設x是一個m乘以n的矩陣,其中包含nz = nnz(x)個非零項。那麼,如果以全矩陣方式存儲x,即full(x),需要佔用m*n個實數大小的內存空間;而sparse稀疏矩陣形式存儲,即sparse(x),需要內存空間來存儲nz個實數和nz+n個整數。在大多數計算機上,一個實數佔用的內存空間為一個整數的兩倍。在這些電腦上,如果比值nnz/prod(size(x))不超過三分之一,以稀疏矩陣形式存儲一個矩陣所佔用的存儲空間要遠遠少於以全矩陣形式存儲。然而,針對稀疏矩陣的運算過程要(比針對全矩陣的運算)花費更長的時間。所以,在使用稀疏矩陣形式存儲一個矩陣時,這個比值最好不超過三分之二。
相關函數:meshgridissparsesparse

FULL程序示例

A = [0, 0, 0; 0, 1, 0; 1, 0, 0];
S = sparse(A)
A = full(S)
輸出結果:
>> A = [0, 0, 0; 0, 1, 0; 1, 0, 0];
S = sparse(A)
A = full(S)
S =
(3,1) 1
(2,2) 1
A =
0 0 0
0 1 0
1 0 0
由此可以看出,所謂稀疏矩陣存儲形式,全矩陣存儲形式,只是matlab中存儲稀疏矩陣的兩種不同的方式。前一種存儲方式,只存儲係數矩陣中的非零項的值和它在矩陣中的行列下標,而以全矩陣形式存儲,則所有0也單獨存儲。