那坑爹的基于Condition(/;)的分段函数定义法是咋流行起来的?
mathematica吧
全部回复
仅看楼主
吧务
level 15
xzcyr 楼主
首先,强调一句,基于Condition(/;)的分段函数定义方法危害很多,不对,应该说我就想不起来它有好处的场合,至少对于代数函数的定义是这样。
貌似所有代数变换函数都认不得这种分段函数。(Simplify,Limit,Integrate,D……)
涉及数值计算的函数也处理不好它。(Plot,……)
定义分段函数应该用Piecewise!
……好了这帖主要不是讨论Condition的坏处的。(不过或许是要找个机会写个主题详细整理下它的坏处。)这里主要是想问一下有没有人知道,这种基于Condition的分段函数定义方法是怎么流行起来的?
每年到了一定时期,用了这种定义法的帖子就会在吧里冒出来。我基本敢肯定这不是照着帮助文档学来的,因为直接在帮助里搜“分段”,冒出来的似乎都是关于Piecewise的教程。实际上,如果仅仅照着自带帮助学习,那么对Condition这个函数的接触恐怕会相当晚。(大概要到正式学模式匹配的时候才会遇到它。)
那么这背后肯定又是某个(某些?)材料在造成不良影响。
有人知道具体是啥材料吗?
2017年11月04日 15点11分 1
level 3
其他人不知道,我是在高级导论里面看到的
2017年11月04日 23点11分 2
level 7
高级导论+1,模式匹配的形式写起来很舒服,不过后面要做代数变换的函数还是应该用Piecewise定义。一般定义域是整数的函数用Condition比较多。
2017年11月05日 02点11分 3
吧务
level 15
xzcyr 楼主
@paulwu1983 @hjq447285628 ……可是高级导论比自带帮助还要“高级”啊,考虑到提问者的水平,很难想象他们是从高级导论里学到了/;……
2017年12月02日 10点12分 4
level 11
在Demonstration project里面某位大神的工程例子里面学到的。。。
2022年01月04日 02点01分 10
1