4

0、0.5、1などの3つの異なる値を持つ行列N * Nがあります。各値が異なる色を表す画像を画面に印刷するにはどうすればよいですか?重要:行列はループであるため、値が変わる可能性があります(反復ごとに行列を印刷したい)。

カラーマップを使用してみましたが、3つの値がすべてマトリックスに含まれていれば問題なく機能しましたが、1つまたは2つの値しか残っていない場合は、色が変更されました。

動作方法:値が0、0.5、1のマトリックスは、各セルに0色の黒、0.5色の緑、1色の黄色が含まれるマトリックスを画面に出力します。

どうもありがとう!

4

2 に答える 2

5

可能な値が3つしかない独自のカラーマップを作成するだけです。

a = [1 0.5 0;1 .5 0;0.5 0 1];
b = [1 0 1;1 1 0;0 0 1];
cmap = [0,0,0;0,1,0;1,1,0];
clims = [0 1];
imagesc(a,clims); colormap(cmap);
imagesc(b,clims); colormap(cmap);

与える:

a

bは与える:

ここに画像の説明を入力してください

于 2013-01-24T21:44:06.660 に答える
0

多分imagsecを試してみます。または、色のその他のスケーリング。グレースケールから始めます。RGBはもう少し複雑になります

于 2013-01-24T21:46:21.350 に答える