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(:))'? –