私はMatlabを使用しています。値ごとのピクセル数を格納する 3d RGB ヒストグラムがあり(r, g, b)
ます。3D マトリックスは非常にまばらです。Matlab で疎な 3d 行列を処理する方法はありますか? 私は義務付けられます。
1 に答える
0
あなたの最初の質問はあまり明確ではなかったので、より理解しやすく、検索しやすく、役立つように再構成しました。現在、あなたの質問に回答して、未回答リストから削除しています。
知られているように、Matlab は 3D 行列を直接処理しません。回避策は、スパース行列のセル配列を使用することです。
(1, 1, 1)
要素とのみを含むスパース行列を作成するとします。(1, 3, 50)
と としA(1, 1, 1) = 1
ますA(1, 3, 10) = 54
。次のことができます。
mySp{1} = sparse(3, 3);
mySp{10} = sparse(3, 3);
mySp{1}(1, 1) = 3;
mySp{10}(1, 3) = 54;
この上、
>> mySp
mySp =
[3x3 double] [] [] [] [] [] [] [] [] [3x3 double]
ご覧のとおり、要素mySp
の配列です。10
1 番目と 10 番目の要素はスパース行列で、その他は空です。空でない 1 番目と 10 番目のスパース行列は、次のように復元できます。
temp1 = mySp{1};
temp2 = mySp{10};
戻る
>> temp1
temp1 =
(1,1) 3
と
temp2 =
(1,3) 54
于 2016-11-08T08:03:44.760 に答える