Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-01-08
年龄: 39
帖子: 6
声望力: 0 ![]() |
![]()
Wedge[x_?NumericQ ,y_?NumericQ]:=x y ;
Wedge[arg1_,y_?NumericQ]:=y arg1; Wedge[x_?NumericQ, arg2_]:=x arg2; Wedge[x_?NumericQ arg1_,y_?NumericQ]:=x y arg1; 各位帮帮忙,上面这四句话是什么意思?能帮我分析一下运行的结果吗?谢谢大家了!Wedge是自己定义的一个东西,尤其x_?NumericQ 是什么意思?好像是匹配的意思,但是具体的不是很清楚。 还有一个问题就是Mathematica中经常有“x_ y_ ”这种表达方式,呵呵,不知道是不是有什么特别的含义? 此帖于 2009-05-22 00:37 被 xiaolinxianju 编辑。 原因: 描述不清 |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2008-08-17
年龄: 43
帖子: 77
声望力: 18 ![]() |
![]()
这是函数定义的一般方式,不然在函数f[x]=...中就把它当成一个定值x了,除非x取定值,f给一个数,否则,总不用等号后边的数变换,还是显示原样,这时,你输入f[y],他也给你输出f[y],至于后边的是起限制作用的,没见过加问号的如:NumericQ指数值,只有当输入为数值时才会代入右边,否则不解释,原样返回,如这时再输入f[3x],它给你返回原样。
|
![]() |
![]() |