re-us 发表于 2010-6-22 04:02

如何存储不同长度的数组

Z是一个3×4数组,有一个相对应的逻辑数组loc,目的就是根据loc取出z中不同的元素,然后存储为另外一个数组。
最后想要的结果是:不同长度的数组放在cell里面。

用for循环很容易实现,能不能避免for循环,cellfun好像不行(不确定).
clc; clear; z=;
loc=logical();
for i=1:3
    a=z(i,:); b=loc(i,:); z1{i}=a(b);
end
z1{:}

[ 本帖最后由 ChaChing 于 2010-6-22 23:58 编辑 ]

rocwoods 发表于 2010-6-22 10:31


Z1 = arrayfun(@(k) z(k,loc(k,:)),1:3,'UniformOutput',false)
页: [1]
查看完整版本: 如何存储不同长度的数组