wolfram-mathematica - 如何通过附加到 Mathematica 中重新定义函数?

标签 wolfram-mathematica

在 Mathematica 中进行计算时,我经常需要通过追加来重新定义一个函数。例如,如果我定义

f[n_] := n^2 + n + 1

然后过了一段时间我想添加 2n^3 所以从现在开始
f[n] = 2n^3 + n^2 + n + 1. 

然后我想添加 Sin[n] 并进一步
f[n] = 2n^3 + n^2 + n + 1 + Sin[n]. 

等等。

使用变量很容易,例如 x += 2。函数有类似的东西吗?...

编辑添加 - 是的,我这样做是为了半手动地找到最适合数据的函数。我知道有一些功能可以做到这一点,但我想看看我是否可以自己到达那里。我这样做了,但方式并不优雅,因此引发了这个问题。

最佳答案

您可以定义一个基本函数列表,然后选择所需数量的元素:

fList = {n^2, n, 1, 2 n^3, Sin[n]}; 

f[n_] = Total[Take[fList, 3]]
f[n_] = Total[Take[fList, 4]]
f[n_] = Total[Take[fList, 5]]
(*
=> 1 + n + n^2
=> 1 + n + n^2 + 2 n^3
=> 1 + n + n^2 + 2 n^3 + Sin[n]
*)

关于wolfram-mathematica - 如何通过附加到 Mathematica 中重新定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7642445/

相关文章:

wolfram-mathematica - 数学 : NExpectation vs Expectation - inconsistent results

graphics - Mathematica 中这些未记录的样式选项有什么作用?

wolfram-mathematica - 检查 Mathematica 中的绘图是否为空

function - 如何在 mathematica 中定义抽象的奇函数?

wolfram-mathematica - 将 Roots[] 的输出收集到列表中

function - 如何在 Mathematica 和 Matlab 中查找已定义符号的类型和内存位置?

python - 用 python 绘制数学数据

c++ - 如何用计算机代码检查无限集是否在加法下是封闭的?

wolfram-mathematica - Mathematica 8中带有函数声明的问题

java - JAVA中符号数学的实现