什么是MATLAB';s full()函数是否使用行参数?
我有一行代码如下什么是MATLAB';s full()函数是否使用行参数?,matlab,matrix,sparse-matrix,Matlab,Matrix,Sparse Matrix,我有一行代码如下 nrma2 = full(abs(sum(A.*A',1))); 但是,sum(…,1)是一行abs()仅返回包含绝对数的行 那么,full()。稀疏矩阵可以是行向量,也就是1×N矩阵。您发布的代码可能将A作为稀疏矩阵,或者包含full() A = sparse([1,0;1,0]) A = (1,1) 1 (2,1) 1 nrma2 = full(abs(sum(A.*A',1))) % Full row-matrix nrma2
nrma2 = full(abs(sum(A.*A',1)));
但是,sum(…,1)
是一行abs()
仅返回包含绝对数的行
那么,full()。稀疏矩阵可以是行向量,也就是1×N矩阵。您发布的代码可能将A
作为稀疏矩阵,或者包含full()
A = sparse([1,0;1,0])
A =
(1,1) 1
(2,1) 1
nrma2 = full(abs(sum(A.*A',1))) % Full row-matrix
nrma2 =
1 0
abs(sum(A.*A',1)) % Sparse row-matrix
ans =
(1,1) 1
具体而言,根据以下文件:
full
将稀疏矩阵转换为完全存储
(……)
S
-要转换的稀疏矩阵
要转换的稀疏矩阵,指定为矩阵。如果S
已经是
完整矩阵,则A
与S
相同
在您的例子中,对于向量作为full()
的参数,那么full()
什么也不做。通常是处理稀疏矩阵,以获得完整矩阵。@Thomascoding您实际上可以得到稀疏1D矩阵,请参见下面的答案。@Adrian感谢您纠正我的错误