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 に答える