【问题标题】:Multivariate Functions with Conditions in MathematicaMathematica 中带条件的多元函数
【发布时间】:2013-01-12 09:13:10
【问题描述】:

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

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?

【问题讨论】:

  • 您的定义工作正常,马克的回答与您的没有什么不同。您之前可能对 g 有过定义,清除它会有所帮助。
  • 是的,OP 对g 的定义工作正常。现在。奇怪的是,当我昨晚在新的 Mathematica 会话中尝试它时,定义返回 $Failed

标签: function wolfram-mathematica conditional-statements


【解决方案1】:

这对我有用:

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

为什么这个版本有效,而您的版本无效我不确定。也许其他人会过来告诉我们

【讨论】:

  • 谢谢马克。完美运行。
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
相关资源
最近更新 更多