是否可以在Matlab中定义一个数组来保存数学运算符[+ - * /]?

时间:2014-04-20 20:19:33

标签: arrays matlab

是否可以在Matlab中定义一个数组来保存数学运算符[+ - * /]?

我有一组数字[1 1 1 1],即4位数。我想查看所有可能的数字组合,在循环中更改数组中的数字,以及它们之间的所有数学运算(最好在循环内更改),以查看获取数字的所有可能方法&#39 ; 24'具有四位数的基本数学运算。

我认为这可能只用几行代码编写,如果有可能在某种类型中定义这样的运算符数组。

是吗? 还有其他办法吗?

1 个答案:

答案 0 :(得分:8)

您可以定义cell array function handles这样的perms(请参阅help plushelp minus,甚至是help /等等):

operators = {@plus,@minus,@times,@rdivide};

然后,例如,operators{1}(array(1),array(3))将添加数组的第一个和第三个元素。解决问题的方法还有很多。例如,您可能希望使用{{3}}。