mathematica模式匹配
mathematica模式匹配
这一篇讲一下mma的模式匹配。
在这之前先要讲一个Condition(条件)
放一个例子就能懂如何使用
![](//img-blog.csdn.net/20170113154555161)
当x>0时,则带入ppp这个函数,否则带入f这个函数
下面开始讲模式匹配,主要使用Cases这个函数
![](//img-blog.csdn.net/20170113154658443)
这次要用到的数据
![](//img-blog.csdn.net/20170113154802186)
解释一下,_这个符号代表任意元素的意思。
Cases[data, {5, _}]的意思就是第一个元素是5,第二个元素任意的意思。
![](//img-blog.csdn.net/20170113154917038)
这里就用到了/;,表示条件。
Cases[data, {x_, _} /; x > 5]这句话就表示第一个x大于5,第二个元素任意
![](//img-blog.csdn.net/20170113155348054)
还有一个符号 :> ,可以直接来做替换
![](//img-blog.csdn.net/20170113155546822)
以上,所有
2017/1/13
这一篇讲一下mma的模式匹配。
在这之前先要讲一个Condition(条件)
放一个例子就能懂如何使用
当x>0时,则带入ppp这个函数,否则带入f这个函数
下面开始讲模式匹配,主要使用Cases这个函数
data = Table[{RandomInteger[10], RandomInteger[10]}, 10]
这次要用到的数据
解释一下,_这个符号代表任意元素的意思。
Cases[data, {5, _}]的意思就是第一个元素是5,第二个元素任意的意思。
这里就用到了/;,表示条件。
Cases[data, {x_, _} /; x > 5]这句话就表示第一个x大于5,第二个元素任意
还有一个符号 :> ,可以直接来做替换
Cases[data, {x_, y_} /; x > 0 :> {0, y}]//这句话就是表示将第一个大于0的数字都变成0
以上,所有
2017/1/13