interpを使用し​た際に方向により異な​る着色がされる現象を​回避したい

A = [0 0 0;0 1 0;0 0 0];
p = pcolor(A);
set(p,'FaceColor','interp')
このコードを実行すると以下のような図が描かれます
また、
B = [0 0 0;0 0 0;0 0 0];
p = pcolor(B);
set(p, 'FaceColor','interp','AlphaData',A,'FaceAlpha','interp')
これを実行すると以下のような図が描かれます
右斜めか左斜めかによって着色の方法が異なる為、どちらも中央が1、周辺が0なのにもかかわらず、歪んだ図になってしまいます。
pcolorでinterpを用いて他の大きな作図する際にこれが問題となってしまうのですが、中心にインクを一滴垂らして広がるような、どの方向にも均等に着色する方法はありませんか。
よろしくお願いいたします。

 Akzeptierte Antwort

Hernia Baby
Hernia Baby am 4 Aug. 2022

1 Stimme

いろいろ調べてみたんですが、interp2を使う方法が一番よさそうです
A = [0 0 0
0 1 0
0 0 0];
A = interp2(A,5,'cubic');
pcolor(A);
shading interp;
axis square;

Weitere Antworten (0)

Kategorien

Mehr zu 数学 finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!