作业帮 > 数学 > 作业

为什么在Mathematica中:In[1]:=t = Cos[2 x]; t /.Sin_[2 x_] -> 2 Si

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/29 23:53:06
为什么在Mathematica中:In[1]:=t = Cos[2 x]; t /.Sin_[2 x_] -> 2 Sin[x] Cos[x] Out[1]:=2 Cos[x]^2
……我还从来没有这样子用过ReplaceAll啊,老实说,我真不知道怎么解释.你是想达到个什么目的呢?另外,我给你发了封私信,你看看吧.
___
……搞清楚了.这个代码可以达到和你的问题相同的效果,我想靠着这个你可以秒懂了:
Cos[2 x] /.f_[2 x_] -> 2 f[x] Cos[x]
再啰嗦几句吧.你的代码里所发生的事情,其实是这样的:
Sin_[2 x] 匹配了Cos[2 x] ,于是Cos作为参数被赋给了变量Sin,x作为参数赋给了变量x.(这里的变换方式和定义函数时的那个是一样的.)于是在你的替换规则下,整个过程是这样的:
Cos[2 x] -> 2 (Sin=Cos)[(x=x)] Cos[(x=x)]
于是就有了你那个结果.(注意上面这个式子只是为了方便你的理解,并不是mma的表达式.)