Mathematica中如何用列表元素批量替换函数中的变量?
解决方案
不需要用循环,Mathematica里有几种简洁的内置函数用法可以实现你的需求:
方法1:使用Map结合纯函数
直接把列表中的每个元素作为参数传入构造好的纯函数:
apple = {10, 15, 25}; Map[5*x + # &, apple]
运行后会直接得到{5 x + 10, 5 x + 15, 5 x + 25}。
方法2:替换规则结合Map(或/@运算符)
先定义原函数,再通过替换规则批量替换n:
apple = {10, 15, 25}; f = 5*x + n; f /. n -> # & /@ apple
/@是Map的简写,效果和上面一致。
方法3:使用Thread函数
如果要直接对替换规则应用Thread,可以写成:
apple = {10, 15, 25}; f = 5*x + n; Thread[f /. n -> apple]
Thread会自动把列表中的元素逐个匹配到替换规则里,生成对应的函数列表。
内容的提问来源于stack exchange,提问作者Sachin
相关产品推荐
相关产品推荐

