MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   Mathematica论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=34)
-   -   我是一个新手,问一个常识性问题,各位帮帮忙啊 (https://www.labfans.com/bbs/showthread.php?t=8526)

xiaolinxianju 2009-05-22 00:26

关于类型匹配的问题,谢谢大家
 
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_  ”这种表达方式,呵呵,不知道是不是有什么特别的含义?

zsy312 2009-05-25 22:44

回复: 我是一个新手,问一个常识性问题,各位帮帮忙啊
 
这是函数定义的一般方式,不然在函数f[x]=...中就把它当成一个定值x了,除非x取定值,f给一个数,否则,总不用等号后边的数变换,还是显示原样,这时,你输入f[y],他也给你输出f[y],至于后边的是起限制作用的,没见过加问号的如:NumericQ指数值,只有当输入为数值时才会代入右边,否则不解释,原样返回,如这时再输入f[3x],它给你返回原样。


所有时间均为北京时间。现在的时间是 11:35

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.