MatLab:绘制具有混合数据类型的单元格数组

时间:2014-05-19 11:39:35

标签: matlab cell histogram

我有一个包含数据的单元格数组C = cell(815,2,14),如下例所示。

第一列表示观察,而第二列表示该观察的出现次数。观察由两个浮点值组成,这两个浮点值表示3D条形图内的坐标。 3D条的两个轴的间隔均为[0,1]。

我想使用第1列的坐标创建一个3d条形图,并使用第二列的出现次数作为z轴。

情节应如下所示:enter image description here

C(:,:,1) = 

'[1 1]'           [511553]
'[0 0]'           [508759]
'[0.85 0.95]'     [  1675]
'[0.7 0.75]'      [   582]
'[0.55 0.75]'     [   359]
....

C(:,:,2) = 

'[1 1]'           [621836]
'[0 0]'           [571582]
'[0.85 0.95]'     [  2134]
'[0.7 0.75]'      [   832]
'[0.55 0.75]'     [   234]
....

.
.
.

....

C(:,:,14) = 

'[1 1]'           [511553]
'[0 0]'           [508759]
'[0.85 0.95]'     [  1675]
'[0.7 0.75]'      [   582]
'[0.55 0.75]'     [   359]
....

1 个答案:

答案 0 :(得分:-1)

a{1,1} = [5 4 3 2];
a{2,1} = [];
a{3,1} = [5 4 3 2 8];
a{4,1} = [5 3 ];
a{5,1} = [5];
a{6,1} = [3 4 5 6 7 8];
a{7,1} = [5 3 2];

lns = cellfun(@length,a);
mx = max(lns);
mat = NaN;

for ii = 1:numel(a);
    a{ii,1} = [a{ii,1} mat(1,ones(1,mx-lns(ii)))];    
end    

array_vec=cell2mat(a);