是否可以在Matlab中定义一个数组来保存数学运算符[+ - * /]?
我有一组数字[1 1 1 1],即4位数。我想查看所有可能的数字组合,在循环中更改数组中的数字,以及它们之间的所有数学运算(最好在循环内更改),以查看获取数字的所有可能方法&#39 ; 24'具有四位数的基本数学运算。
我认为这可能只用几行代码编写,如果有可能在某种类型中定义这样的运算符数组。
是吗? 还有其他办法吗?答案 0 :(得分:8)
您可以定义cell array function handles这样的perms
(请参阅help plus
,help minus
,甚至是help /
等等):
operators = {@plus,@minus,@times,@rdivide};
然后,例如,operators{1}(array(1),array(3))
将添加数组的第一个和第三个元素。解决问题的方法还有很多。例如,您可能希望使用{{3}}。