首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >科学编程实践

科学编程实践
EN

Stack Overflow用户
提问于 2012-01-24 20:37:45
回答 5查看 459关注 0票数 4

我想在速度和准确性方面写出好的语句。如果我没记错的话,这一行:b=(a+1)*a生成了一个比这个更好的程序:b=(a^2+a)

这只是一个例子,可能是错的,但现在无关紧要,问题是:我在哪里可以找到科学计算的良好实践的概要?

EN

回答 5

Stack Overflow用户

发布于 2012-01-24 20:41:14

你可以看看Numerical Recipes in C。我不确定它是否介绍或教你优化,但就C语言的科学计算而言,它是一本非常受欢迎的书。甚至可能会有一本给C++的书。

票数 5
EN

Stack Overflow用户

发布于 2012-01-24 20:41:55

您在这里所做的被称为premature optimization,它是许多邪恶的根源。你应该做的是,编写你的程序,然后profile它们,并尝试优化关键部分。关于科学计算的优化技术的完整概要可能会是一本非常厚的书,因此在寻找解决方案之前,您需要缩小问题的范围。

票数 3
EN

Stack Overflow用户

发布于 2012-01-24 21:12:45

一种有用的技术是将所有函数模板设置为datum类型,然后使用interval算术类型而不是浮点类型运行算法。这为您提供了给定输入集的结果精度的上限,而不必进行广泛的数值分析。

同样重要的是要对你的结果和任何中间结果的预期大小有一个概念,这样你就可以快速判断出有没有什么问题。

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

https://stackoverflow.com/questions/8986925

复制
相关文章

相似问题

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