imagescコマンドを使用して2つの変数(2つの行列)をグラフ化するのに役立つ必要があります。行列のサイズは同じですが、正しい結果を得るためにコードを適切に記述する方法はわかりません。imagescコマンドを使用して2つの行列をグラフ化するにはどうすればよいですか?
私の問題では、x - axは地面の経度、y - axは垂直位置 - 深さ(Df) - これはTを計算しているので、T(Df)を意味します。一般的な考え方は温度プロファイルを得ることです。
第一:
clear all
x=1:1:10;
a=-0.5; b=0.5;
topo = a + (b-a).*rand(1,10);
df=-5:1:20;
for i=1:length(x);
d1=-5:1:topo(i);d1=d1';
d2=topo(i):1:20;d2=d2';
df=unique(vertcat(d1,d2));
d=df+topo(i);
z=find(d<0);
T1(z)= NaN;
z=find(d>=0 & d<=20);
T1(z)= 0.3*d(z).^2;
%save into a matrix
Ti(:,i)=T1;
Di(:,i)=df';
end
hh=imagesc(x,df,Ti);colormap('jet'),set(hh,'AlphaData',~isnan(Ti));
set(gca,'YDir','reverse');hold on;
plot(x,topo,'k');grid on;
私は二つのことを試してみました。
Ti(:, i) = T1;
Df(:, i) = df';
Cx{i} = T1;
Cy{i} = df;
Tf = [Cx; Cy];
hh = imagesc (x, Tf{:});
アンこのエラーが表示されます関数imagescでのエラー(線39) HH =画像(のvarargin {:}、 'CDataMapping'、 'スケーリングを');
第2位。
hh = imagesc (x, Df(:), T1(:));
なし。私はTiの各列をDfの対応するvalurに対してプロットする必要があるからです。
これは簡単ですが、私はそれを解決できました。誰かがこれで私を助けることができたら、私は多くのことを感謝します。
ありがとうございます!
'size(Df)= size(Ti)'の行はなんですか? –
私はあなたがしようとしていることを非常に混乱しています。 'image'とその姉妹関数' imagesc'は行列を画像として表現するために使われます。代わりにグラフをプロットしたいと思うようです(つまり、ある変数を別の変数の関数として)。そうですか? –
おそらくあなたは 'plot(Df(:)、T1(:))'を意図していますか? –