早教吧作业答案频道 -->其他-->
mathematica这样用Alternatives不行吗?abs[x(Integer|Rational|Complex)]:=Norm[x]abs[1+I]和abs[1,2]都不行但是这种模式每一个都是独立的模式,不管别的是否匹配,只要自己匹配上就会应用上不是吗?可是Ma
题目详情
mathematica这样用Alternatives不行吗?
abs[x (_Integer | _Rational | _Complex)] := Norm[x] abs[1+I]和abs[1,2]都不行
但是这种模式每一个都是独立的模式,不管别的是否匹配,只要自己匹配上就会应用上不是吗?
可是MatchQ[x^2,x^(_Real|_Integer)]回答是True啊
abs[x (_Integer | _Rational | _Complex)] := Norm[x] abs[1+I]和abs[1,2]都不行
但是这种模式每一个都是独立的模式,不管别的是否匹配,只要自己匹配上就会应用上不是吗?
可是MatchQ[x^2,x^(_Real|_Integer)]回答是True啊
▼优质解答
答案和解析
那是你没用对,可以如下的方法
abs[x :_Integer | _Rational | _Complex] := Norm[x]
或者
abs[x_Integer | x_Rational | x_Complex] := Norm[x]
至于为何 abs[1,2] 不行,那是因为你定义的模式匹配的是整数 | 有理数 | 复数,当然匹配不了序列,最后的那个匹配正确是没有问题的啊.建议你看一下模式的命名.
abs[x :_Integer | _Rational | _Complex] := Norm[x]
或者
abs[x_Integer | x_Rational | x_Complex] := Norm[x]
至于为何 abs[1,2] 不行,那是因为你定义的模式匹配的是整数 | 有理数 | 复数,当然匹配不了序列,最后的那个匹配正确是没有问题的啊.建议你看一下模式的命名.
看了mathematica这样用A...的网友还看了以下:
等边三角形ABC,边长为a,O为等边三角形的中心,过O的直线交AB与M,交AC与N,求:(1/OM 2020-04-11 …
已知A=(x+2)²,B=2x(1/2x-2),求A-B注意题中的x都是字母 2020-04-26 …
我平常物理做练习是的题都能做.正确率也不错.但是就是时间挺长的.因为我要想.但是考理综我发现根本没 2020-05-13 …
已知函数f(x)=4x^2-2(p-2)x-2p^2-p+1在区间[-1,1]的所有的x,都有f( 2020-05-13 …
已知函数f(x)=2αcos²x+bsinxcosx,且f(0)=2,f(π/3)=1/2+根号3 2020-05-15 …
f(x)+2f(1/x)=3x 求f(x)的值 我想问的是为什么f(x)和2f(1/x)能合并化简 2020-05-17 …
函数定轴动区间问题f(x)=ax^2+bx+c(a>0),若对任意的X都满足f(x+2)=f(2- 2020-05-21 …
起点世博会答案9.241.()是第一个签约参展上海世博的南美洲国家A圭亚那B智利C厄瓜多尔D玻利维 2020-06-02 …
若不等式x2-8x+20/mx2-mx-1<0,对任意的x都成立,求m的范围 2020-06-03 …
1.f(x)=-3sin(wx+a),对于任意的X都有f(pai/3+x)=f(pai/3-x), 2020-06-04 …