gpt4 book ai didi

matlab - 将向量元胞数组转换为二维矩阵 - MATLAB

转载 作者:行者123 更新时间:2023-12-02 03:52:24 26 4
gpt4 key购买 nike

我有一个表格单元格:

A = {[1, 2]; ...
[3, 4, 5]; ...
[6, 7]};

我想将细胞元素放入矩阵中以形成:

B = [1, 2, 0; ...
3, 4, 5; ...
6, 7, 0];

我怎样才能做到这一点?有或没有循环。

最佳答案

这是一种使用 bsxfun' 的方法s 掩蔽能力 -

function out = cell1D_to_mat2D(A)

lens = cellfun('length',A);
out = zeros(max(lens),numel(lens));
mask = bsxfun(@le,[1:max(lens)]',lens(:)');
out(mask) = [A{:}];
out = out.';

示例运行 -

>> A={[1,2];[3,4,5];[6,7];[5,9,5,8,7]};
>> cell1D_to_mat2D(A)
ans =
1 2 0 0 0
3 4 5 0 0
6 7 0 0 0
5 9 5 8 7

关于matlab - 将向量元胞数组转换为二维矩阵 - MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40771822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com