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

如何从MATLAB单元格数组(cell-array)提取单行生成独立单元格数组

提取单元格数组每行作为独立单元格数组的方法

你给出的示例单元格数组定义如下:

C = [
    {{1 2 3} true 0 0 5 false}; ...
    {{2 3 4} true 0 0 3 false} ...
]

方法一:直接提取指定行

如果只需要单独提取某一行(比如第一行),直接通过行索引赋值即可:

C1 = C(1, :);

执行后C1就是目标的1×6单元格数组:{{1 2 3} true 0 0 5 false}。

方法二:批量生成所有行的独立变量

如果要把所有行都转为独立变量,可用循环结合assignin实现:

for i = 1:size(C, 1)
    varName = ['C', num2str(i)];
    assignin('base', varName, C(i, :));
end

运行后工作区会自动生成C1、C2等变量,分别对应原数组的每一行。

额外建议

批量生成变量会降低代码可读性,后续维护不便。更推荐直接通过原数组的索引访问行数据(比如C(2,:)直接取第二行),或者将所有行存入一个新的单元格数组统一管理:

rowCells = mat2cell(C, ones(size(C,1),1), size(C,2));

此时rowCells{1}就是第一行数据,rowCells{2}是第二行,以此类推。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:02:37