0

我正在尝试定义一个双变量函数,该函数根据是否满足条件来取值。我让它们适用于单变量案例,但我坚持使用双变量案例:

g[x_, y_] := 10 /; x < 10
g[x_, y_] := 20 /; (x >= 10 && y < 5)
g[x_, y_] := -5 /; (x >= 10 && y >= 5);

这个函数从来没有给我-5的值。

g[12,10] = 20?

4

1 回答 1

2

这对我有用:

Clear[g]
g[x_, y_] /; x < 10 := 10
g[x_, y_] /; x >= 10 \[And] y < 5 := 20
g[x_, y_] /; x >= 10 \[And] y >= 5 := -5

然后

In[73]:= g[12, 10]

Out[73]= -5

为什么这个版本有效而​​你的版本不可用我不确定。也许其他人会过来告诉我们

于 2013-01-28T22:15:18.730 回答