首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在代码中实现常见的白皮书数学习惯用法的常用方法是什么

在代码中实现常见的白皮书数学习惯用法的常用方法是什么
EN

Stack Overflow用户
提问于 2012-05-24 01:52:31
回答 3查看 148关注 0票数 1

我正在寻找一种资源,它可以解释白皮书中常见的数学操作,其术语是具有最低数学背景的程序员可以理解的编码习惯用法--循环等。

我经常在不同的方程中看到相同类型的符号,这通常会导致易于理解的算法。对这些符号含义的概述将大大有助于使学术论文更容易理解。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-24 01:59:11

我能想到的唯一不明显的是(算术、三角函数等),并且在代码中有直接等效的是sum、Σ和乘积Π

所以像Σ a[i]这样的东西是:

代码语言:javascript
复制
 sum = 0;
 for (i = 0; i < len(a); ++i) sum += a[i];

以及一些相关的细节:下标(行下面的小数字)通常与数组索引相同(因此Σ a[i]中的i可能写在a的右下方小)。类似地,i值的范围(这里是0a的长度)可以在Σ的右边给出两个小数字(起始值0位于底部,结束值n位于顶部)。

与之等价的产品是Π a[i]

代码语言:javascript
复制
product = 1;
for (i = 0; i < len(a); ++i) product *= a[i];

在评论中的更新xan也建议覆盖矩阵。这些可能会变得复杂,但最简单的情况可能是:

代码语言:javascript
复制
a[i] = M[i][j] b[j]

(如上所述,ij更有可能是下标)。它有隐含的循环:

代码语言:javascript
复制
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])。据我所知,这不过是:

代码语言:javascript
复制
double Size(struct s) { ... }

double w(struct s, int x) {
    if (x == 0) return alpha[d] * Size(s);
    ...
}

其他术语看起来也很花哨,但实际上并不复杂的函数调用和乘法。请注意,|...|abs(...),而“点”是乘法(我想)。

票数 2
EN

Stack Overflow用户

发布于 2012-05-24 01:58:32

我一直使用这个网站进行复杂的数学运算,并将其转换为代码。我高中没毕业。

代码语言:javascript
复制
http://www.wolframalpha.com/
票数 2
EN

Stack Overflow用户

发布于 2012-05-24 01:55:35

“常见的数学运算”取决于您习惯于解决的问题的类型。它们的范围可以从简单的算术(+、-、*、/)到微积分(积分、求和、导数、偏微分方程、矩阵等)。

“共同”对您和您的开发团队意味着什么?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10725279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档