gpt4 book ai didi

matlab - 如何将 "unpack"一个vector变量分成几个变量?

转载 作者:太空宇宙 更新时间:2023-11-03 19:32:35 24 4
gpt4 key购买 nike

在 Python 中,一个 3 元组(例如)可以通过赋值“解包”成三个独立的变量:

In [1]: triplet = (1, 'two', (True, True, True))

In [2]: first, second, third = triplet

In [3]: third
Out[3]: (True, True, True)

In [4]: second
Out[4]: 'two'

In [5]: first
Out[5]: 1

在 MATLAB 中可以做这样的事情吗?

我尝试过的一切都失败了。例如:

>> triplet = {1, 'two', [true, true, true]};
>> [first second third] = triplet
Too many output arguments.

最佳答案

您可以依靠使用 {:} 索引的单元格扩展来创建 comma-separated list可以分配给三个输出值。

[a, b, c] = triplet{:};

如果 triplet 是一个矩阵,您可以先使用 num2cell 将其转换为元胞数组。

triplet = [1, 2, 3];
tripletcell = num2cell(triplet);

[a, b, c] = tripletcell{:};

关于matlab - 如何将 "unpack"一个vector变量分成几个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38190551/

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