0
我需要通過使用命令imagesc來幫助繪製兩個變量(兩個矩陣)。矩陣具有相同的大小,但我不知道如何正確編寫代碼以獲得正確的結果。如何使用命令imagesc來繪製兩個矩陣?
在我的問題中,x-ax是地面上的經度,y-ax是垂直位置-depth(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;
我已經嘗試了兩件事情:
1日。
Ti(:, i) = T1;
Df(:, i) = df';
Cx{i} = T1;
Cy{i} = df;
Tf = [Cx; Cy];
hh = imagesc (x, Tf{:});
的出現這樣的錯誤:在於imagesc(線39)錯誤 HH =圖像(varargin {:}, '縮放', 'CDataMapping');
2nd。
hh = imagesc (x, Df(:), T1(:));
沒有工作。因爲我需要每一列的Ti都與Df的對應值相對應。
這看起來很簡單,但我可以解決它。如果有人能幫助我,我會很感激。
在此先感謝!
'size(Df)= size(Ti)'應該做什麼? –
我很困惑你想要做什麼。 'image'及其姐妹函數'imagesc'被用來表示矩陣作爲圖像。您似乎想要繪製一個圖形(即一個變量作爲另一個函數的功能)。是對的嗎? –
也許你打算'劇情(Df(:),T1(:))'? –