MATLAB:包含列向量的结构won';不显示矢量

MATLAB:包含列向量的结构won';不显示矢量,matlab,vector,Matlab,Vector,我已将结构数组定义为: oRandVecs = struct('vV',{[],[]},... 'ind_min',{[],[]},... 'mean',{[],[]},... 'vV_descending',{[],[]},... 'largest_diff',{[],[]}); oRandVecs(1.vV和oRandVecs(2.vV都将列向量分配给它们。但是,问题是输

我已将结构数组定义为:

oRandVecs = struct('vV',{[],[]},...
               'ind_min',{[],[]},...
               'mean',{[],[]},...
               'vV_descending',{[],[]},...
               'largest_diff',{[],[]});
oRandVecs(1.vV
oRandVecs(2.vV
都将列向量分配给它们。但是,问题是输出如下所示:

oRandVecs(1) ans= vV:[4x1双精度] 工业:2 平均数:6.5500 vV_下降:[4x1双精度] 最大差值:2.8000 它不是实际显示向量,而是仅描述其类型


我该怎么办呢?

原因是它太大了,无法以这种结构显示在屏幕上:)如果您想实际显示它,请使用
符号来显示您的数据

换句话说,请执行以下操作:

 disp(oRandVecs(1).vV);
您也可以使用其他变量执行此操作:

 disp(oRandVecs(1).vV_descending);
这可能是一条路要走

另一种方法是将结构转换为单元,然后使用:

例如:

>> oRandVecs = struct('vV',{[],[]},...
           'ind_min',{[],[]},...
           'mean',{[],[]},...
           'vV_descending',{[],[]},...
           'largest_diff',{[],[]}); %// define empty struct
>> oRandVecs(1).vV = (1:4).'; %'// fill some fields: column vector, ...
>> oRandVecs(1).mean = 5:7; %// ... row vector, ...
>> oRandVecs(1).vV_descending = randn(2,3); %// ... matrix
>> celldisp(struct2cell(oRandVecs(1)))
ans{1} =
     1
     2
     3
     4
ans{2} =
     []
ans{3} =
     5     6     7
ans{4} =
   0.016805198757746   0.236095190511728   0.735153386198679
   2.162769508502985  -0.158789830267017   0.661856091557715
ans{5} =
     []

这个函数不显示向量,但是当它被要求显示向量时,Matlab会显示。有没有一种方法可以把它作为一个线向量返回,并在最后加上一个T符号?我不这么认为。不过,你可以用这个,这是一个非常好的,我很高兴他想到了这一点!这真的很酷。我不断刷新看到你的编辑:顺便说一句,这是故意的吗<代码>5:4?这将给你的空矩阵无论如何@雷琳:哎呀!不,意图是5:6。纠正。谢谢
>> oRandVecs = struct('vV',{[],[]},...
           'ind_min',{[],[]},...
           'mean',{[],[]},...
           'vV_descending',{[],[]},...
           'largest_diff',{[],[]}); %// define empty struct
>> oRandVecs(1).vV = (1:4).'; %'// fill some fields: column vector, ...
>> oRandVecs(1).mean = 5:7; %// ... row vector, ...
>> oRandVecs(1).vV_descending = randn(2,3); %// ... matrix
>> celldisp(struct2cell(oRandVecs(1)))
ans{1} =
     1
     2
     3
     4
ans{2} =
     []
ans{3} =
     5     6     7
ans{4} =
   0.016805198757746   0.236095190511728   0.735153386198679
   2.162769508502985  -0.158789830267017   0.661856091557715
ans{5} =
     []