imagesc 명령을 사용하여 두 변수 (두 행렬)를 그래프로 표시하는 데 도움이 필요합니다. 행렬의 크기는 같지만 올바른 결과를 얻으려면 코드를 적절하게 작성하는 방법을 모르겠습니다.imagesc 명령을 사용하여 두 행렬을 그래프로 표시하는 방법은 무엇입니까?
내 문제는 x 축은 땅 위의 경도이고 y 축은 수직 위치입니다. 깊이 (Df) - T를 계산하면 T (Df)를 의미합니다. 일반적인 아이디어는 온도 프로파일을 얻는 것입니다.
1 :
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를');
2nd.
hh = imagesc (x, Df(:), T1(:));
아무 것도 작동하지 않았습니다. 왜냐하면 Ti의 각 열은 Df의 대응 열의 값에 대해 플롯되어 있어야하기 때문입니다.
이것은 쉬운 것처럼 보이지만 해결할 수 있습니다. 누군가가 이것으로 나를 도울 수 있다면 많이 감사 할 것입니다.
미리 감사드립니다.
'size (Df) = size (Ti)'라고하는 줄은 무엇입니까? –
나는 당신이하려고하는 것을 매우 혼란스러워합니다. 'image'와 그 자매 함수'imagesc'는 행렬을 이미지로 표현하기 위해 사용됩니다. 대신 그래프를 표시하려는 것입니다 (즉, 다른 변수의 함수로 한 변수). 그게 맞습니까? –
어쩌면'plot (Df (:), T1 (:))'을 할 생각입니까? –