資源簡介
稀疏矩陣乘法matlab實現,三元法實現函數,代碼附上
代碼片段和文件信息
%?------三元組法&直接法時間統計函數?Triplet_time-----%
%??????(t_Triplet,t_Normal)=?timecalculate(order?sparsity)
%?????order為矩陣的維度??sparsity為矩陣的稀疏度
%?????本算法考慮到A,B為不同稀疏度
%?????以其中一個矩陣為基準,要判斷哪個矩陣稀疏度更低
%?????以較低稀疏度的矩陣為基準
%???function?to?calculate?the?time?spend?to?finish?sparse?matrix
%???multiplication?of?different?dimensionality?and?sparsity
%???Written?by:?Huziyang
function?[t_Tripletcom]=timecalculate_Triplet(A?B?order)
a=full(A);
b=full(B);??????????????????%將稀疏矩陣還原為正常格式
result_Triplet=zeros(order);????%為三元組法結果預分配求和空間
result_Normal=zeros(order);?????%為直接算法結果預分配求和空間
[ajai]=find(a‘);
[bibj]=find(b);????????????%取出ab中非零元素的行列下標
m=length(ai);
n=length(bj);???????????????%求出ab中非零元素的個數
ai=[ai;0];
bj=[bj;0];??????????????????%防溢出處理
%-----------三元組法求乘積-----------%
%算法思想:
- 上一篇:Matlab實現遺傳算法二進制編碼
- 下一篇:滾動AR模型單步預測MATLAB程序
評論
共有 條評論