发布网友
共3个回答
热心网友
如果数组规模不是很大,直接存储即可,如下:DotZero = [ ] ;for .... .... DotZero = [DotZero, index] ; % index 为当前数据所在的列 ....end如果数组规模很大,应该预定义,如果知道你需要处理的数组的列数就好办了:DotZero = zeros(ColMax,1) ; % ColMax为列数for .... .... DotZero(k) = index ; % index 为当前数据所在的列 ....end然后将DotZero中不为0的元素提取出来即可!newDotZero=DotZero(DotZero ~= 0);当然用单元数组cell也可完成同样的任务!
热心网友
matlab中的数组不需要提前预定义和分配空间,可以动态的增加维数不过对于大型数据,建议提前分配空间,否则会严重影响运行速度的
热心网友
使用动态数组不如使用元胞数组,比如下面的例子>> marryCell=cell(1,2);>> marryCell{1}=rand(1,3);>> marryCell{1}=rand(1,5)marryCell = [1x5 double] []