我正在寻找一种可以解释白皮书中常见数学运算的资源,条件是具有最小数学背景的编码员可以理解编码习语 - for loops等。
我经常在不同的方程式中看到相同类型的符号,并且通常会产生易于理解的算法。概述符号的含义将使学术论文更容易理解。
答案 0 :(得分:2)
我一直使用这个网站进行翻译成代码的复杂数学运算。我从未高中毕业。
http://www.wolframalpha.com/
答案 1 :(得分:2)
我能想到的唯一不明显的算法(算术,触发函数等),并且代码中的直接等价物是sum,Σ
和product Π
。
像Σ a[i]
这样的东西是:
sum = 0;
for (i = 0; i < len(a); ++i) sum += a[i];
以及一些相关的细节:下标(行下面的小数字)通常与数组索引相同(因此i
中的Σ a[i]
可能写得很小,位于右下方a
)。类似地,i
值的范围(此处为0
到a
的长度)可以作为Σ
右侧的两个小数字给出(起始值, 0
,在底部,在顶部完成值n
。
,同等产品为Π a[i]
:
product = 1;
for (i = 0; i < len(a); ++i) product *= a[i];
xan中的update 建议覆盖矩阵。那些变得复杂,但最简单的你可能会看到类似的东西:
a[i] = M[i][j] b[j]
(i
和j
更有可能是下标,如上所述。并且暗示循环:
for (i = 0; i < len(a); ++i) {
a[i] = 0;
for (j = 0; j < len(b); ++j) a[i] += M[i][j] * b[j]
}
更糟糕的是,通常会将其简写为a = M b
并且您应该填写自己的所有内容....
更新2 the paper you reference below中的第一个等式为w(s[i],0) = alpha[d] * Size(s[i])
。据我所知,这只不过是:
double Size(struct s) { ... }
double w(struct s, int x) {
if (x == 0) return alpha[d] * Size(s);
...
}
和其他术语同样看起来很奇特,但实际上并不复杂的函数调用和乘法。请注意|...|
是abs(...)
而“点”是乘法(我认为)。
答案 2 :(得分:1)
“常见数学运算”取决于您习惯解决的问题类型。它们的范围可以从简单的算术(+, - ,*,/)到微积分(积分,求和,导数,偏微分方程,基质等)。
“共同”对您和您的开发团队意味着什么?