输入的顺序在 MATLAB 函数中重要吗?
Does the order of inputs matter in MATLAB functions?
我有一个名为 f(x,y)
的函数,当 x = -1
和 y = 1
时 return 为 1
,否则为 0
。
我想将它应用于矩阵的每一对相同列元素。我想知道我是否必须以另一种方式重复它?或者它对 f(y,x)
是否同样有效?我的意思是 return 1
如果其中一个元素是 -1
而另一个元素是 1
还是必须按顺序排列?
这取决于函数 f
是如何定义的。
- 如果它相对于输入是对称的,即 "one of them" 需要是
-1
和 "the other" 1
,它可以在不改变反向输入的情况下工作。
- 如果函数定义为 "the first" 输入必须为
-1
并且 "the second" 必须为 1
- 当参数顺序为切换。
例如,这是定义f
的"symmetric"方式:
function out = f(x,y)
out = ~(x+y);
end
这是一种 "asymmetric" 方式:
function out = f(x,y)
out = (x == -1) && (y == 1);
end
我有一个名为 f(x,y)
的函数,当 x = -1
和 y = 1
时 return 为 1
,否则为 0
。
我想将它应用于矩阵的每一对相同列元素。我想知道我是否必须以另一种方式重复它?或者它对 f(y,x)
是否同样有效?我的意思是 return 1
如果其中一个元素是 -1
而另一个元素是 1
还是必须按顺序排列?
这取决于函数 f
是如何定义的。
- 如果它相对于输入是对称的,即 "one of them" 需要是
-1
和 "the other"1
,它可以在不改变反向输入的情况下工作。 - 如果函数定义为 "the first" 输入必须为
-1
并且 "the second" 必须为1
- 当参数顺序为切换。
例如,这是定义f
的"symmetric"方式:
function out = f(x,y)
out = ~(x+y);
end
这是一种 "asymmetric" 方式:
function out = f(x,y)
out = (x == -1) && (y == 1);
end