You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取元胞数组中每个向量的第2个元素并返回为向量

解决方案

针对你的需求,这里有几种简洁的实现方式:

方法一:使用cellfun(推荐,通用型)

cellfun可以对元胞数组的每个元胞执行指定操作,直接提取每个向量的第二个元素:

myvals = mycellarray(2,3:5);
result = cellfun(@(x) x(2), myvals);

执行后result就是[0 1 2],这个方法适用于元胞内向量长度一致或不一致的场景。

方法二:转换为矩阵后提取(适用于向量长度统一的情况)

因为你的每个元胞里都是1×2的行向量,可先将元胞数组转为矩阵,再按位置提取目标元素:

myvals = mycellarray(2,3:5);
mat = cell2mat(myvals);
result = mat(2:2:end);

cell2mat(myvals)会把元胞拼接成[0 0 0 1 0 2],通过步长为2的索引提取第2、4、6位元素,得到目标向量。

方法三:循环遍历(直观易懂)

如果需要更直观的逻辑,可通过循环逐个提取:

myvals = mycellarray(2,3:5);
result = zeros(1, length(myvals));
for i = 1:length(myvals)
    result(i) = myvals{i}(2);
end

内容的提问来源于stack exchange,提问作者Angus Comber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 14:49:54