3

ここにこのマトリックスがあり、サイズは 13 x 8198 です (私はそれを「何とか」と呼んでいます)。

これはスパース行列で、そのエントリのほとんどは 0 です。imagesc(blah) を実行すると、次の画像が得られます。

ここに画像の説明を入力

ゼロ以外の要素を明確に見ることができないため、明らかにこれは価値がありません。色のスケーリングをいじってみましたが、役に立ちませんでした。

とにかく、MATLAB でこの行列を何らかの形で視覚化するためのより良い方法があるのではないかと思っていましたか? 私はアルゴリズムを設計しており、特定のものをマトリックスで見られるようにしたいと考えています。

ありがとう!

4

1 に答える 1

7

試してみてくださいspy。それはまさにそれを目的としています。

問題はspy、軸が等しくなり、データが 13 x 8198 であるため、最初の軸が 2 番目の軸に比べてほとんど見えないことです。daspectそれを修正できます。

>> spy(blah)
>> daspect([400 1 1])


spy記号によって異なる方法でプロットするオプションはありません。1 つのオプションは、ソースを編集してその機能を追加することです (これは matlab で実装されており、実行することでソースを取得できますedit spy)。ただし、より簡単なハックは、正の部分と負の部分を別々にスパイすることです。

>> daspect([400 1 1]);
>> hold on;
>> spy(max(blah, 0), 'b');
>> spy(min(blah, 0), 'r');

これには、ポジティブとネガティブが近くにある場所を、プロットされた 2 番目のもの、ここではネガティブ (たとえば、マトリックスの一番上の行) によって支配されているように見せるという不幸な副作用があります。マーカーのサイズをいじる以外に、どうすればよいかわかりません。もちろん、両方の順序で実行して比較することもできます。

于 2013-01-29T03:18:40.487 に答える