本文介绍了对于普通的 MATLAB 数组,有没有类似 deal() 的东西?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复:
如何在 MATLAB 中进行多重赋值?

在处理元胞数组时,可以使用deal()函数将元胞赋值给输出变量,如:

When dealing with cell arrays, I can use the deal() function to assign cells to output variables, such as:

[a, b, c] = deal(myCell{:});

或者只是:

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

我想对一个简单的数组做同样的事情,例如:

I would like to do the same thing for a simple array, such as:

myArray = [1, 2, 3];
[a, b, c] = deal(myArray(:));

但这行不通.有什么选择?

But this doesn't work. What's the alternative?

推荐答案

一种选择是首先使用 NUM2CELL:

One option is to convert your array to a cell array first using NUM2CELL:

myArray = [1, 2, 3];
cArray = num2cell(myArray);
[a, b, c] = cArray{:};

如您所见,您甚至不需要使用 DEAL 分发单元格内容.

As you note, you don't even need to use DEAL to distribute the cell contents.

这篇关于对于普通的 MATLAB 数组,有没有类似 deal() 的东西?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-25 03:06