我得到RFM
方阵size(64*64)
作为x
和h
变量的函数,如下所示。 x =由(pX2)组成的输入信号,其中p
可以是任何大小,h =每个RFM
矩阵的阈值(1X1)。 x
是所有变化h
的相同常量值。让我们说例如h将在这个范围内,h = [0:0.2:1]
RFM = function(x,h)
x=rand(100X2)
和h_1 = 0
然后我会得到RFM_1
(64X64)矩阵。 x is same, x=rand(100X2)
和h_2 = 0.3
然后我会得到RFM_2
(64X64)矩阵。 x is same, x=rand(100X2)
和h_3=0.6
然后我会得到RFM_2
(64X64)矩阵到目前为止,我已经在pcolor图中绘制了RFM_1
,并且还绘制了用RFM
图绘制的每个pcolor
值。
我想要pcolor
样式的RFM矩阵的3d图,其中Z轴的h
功能不同。它应该寻找每个RFM
矩阵图堆叠在一起?我怎么能在MATLAB中做到这一点?
预期的产出图应该如下所示。此处,此图中只绘制了一个RFM_1
h_1
矩阵。我希望在RFM_2
处使用h_2=0.5
矩阵,依此类推,每个都使用pcolor
样式。
我在这里分享了所需的代码。您可以使用test.m
文件来检查上述功能。 https://drive.google.com/folderview?id=0B0sYDrkkEHQ-b25GMlphUEFRcDA&usp=sharing
答案 0 :(得分:0)
这是一种方式:
data=peaks(64); % fake data
t=-0:8; % some thersholds
tdata=bsxfun(@gt,data,permute(t,[3 1 2])); % 3d threshold
data3=repmat(data,[1 1 numel(t)]); %just copy data to the 3rd dim
A=data3.*tdata;
A(A==0)=NaN; % this will eliminate showing the zero values
% plottning
h=slice(A,[],[],1:numel(t));
set(h,'EdgeColor','none','FaceColor','interp');
alpha(0.5);