问题标签 [scientific-computing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4687 浏览

python - 使用 scipy、python、numpy 进行非线性 e^(-x) 回归

下面的代码为我提供了一条最佳拟合线的平线,而不是一条沿着适合数据的 e^(-x) 模型的漂亮曲线。谁能告诉我如何修复下面的代码以使其适合我的数据?

0 投票
4 回答
20467 浏览

python - Python中的离散拉普拉斯算子(del2等效)

我需要 Python / Numpy 等价的 Matlab(八度)离散拉普拉斯算子(函数)del2()。我尝试了几个 Python 解决方案,但似乎没有一个与 del2 的输出相匹配。在八度我有

这给出了结果

在 Python 上我试过

这给出了结果

我也试过

这给出了结果

所以没有一个输出似乎相互匹配。Octave 代码 del2.m 表明它是一个拉普拉斯算子。我错过了什么吗?

0 投票
1 回答
494 浏览

python - 分析 Python - 流式音频和频谱

我正在尝试修改此示例:https ://svn.enthought.com/enthought/browser/Chaco/trunk/examples/advanced/spectrum.py 。不幸的是,我无法使其规模化。如果我将采样率加倍,则图表会滞后于声音输入。我想找出代码的哪一部分是瓶颈。我尝试使用 cProfile 但没有深入调查。

0 投票
1 回答
5831 浏览

python - 流体流动、传热和 Python

完整编辑:

我将提供有关整个问题的更多信息。该项目处于早期阶段,我的问题实际上只是关于这件事的一小部分。

最终目标:
我目前正在尝试在 Python 中模拟热空气在刚性障碍物周围的流动。我有稳定的空气流入,大量的流动是短暂的和湍流的。整个练习的目的是了解
- 气流的行为
- 障碍物升温
- 空气冷却和气压下降

到目前为止做的:
不多,事情还处于早期阶段。我有一个二维矩形域和一个圆形障碍物。网格在体块和障碍物之间的边界处变得越来越精细,因为那是发生有趣事情的地方。目前我只考虑气流,没有对流或热传递。我使用FEniCS用于求解 Navier-Stokes 方程的软件集合。Fenics 附带了一个使用 Chorin 投影方法的 NS 求解器示例,我将此示例应用于我的设置。我将刚体建模为具有无滑移边界条件的区域(即我将气流速度设置为零)。求解器仍然求解该区域的 NS 方程,特别是障碍物内的压力随时间变化。避免这种情况并将 NS 求解器限制在大容量范围内可能是一个更好的主意。但目前我认为这对速度影响不大。

问题:
事情运行得很慢。我不介意最终模拟是否需要几天时间,但目前它只是围绕障碍物的二维流体流动,并且网格最终没有我想要的那么好。我希望这会更快,因为当热量发挥作用时它会变得更加复杂。

我的问题:
归结为一个问题:

在 Python 中求解 Navier-Stokes 方程的快速算法或方法是什么?

我完全可以从头开始编写求解器,但这提出了同样的问题。今天早上我突然想到,投影方法可能不是最糟糕的想法,因为它解耦了压力和速度升级,我可以尝试将其分配给不同的 CPU 内核。

0 投票
3 回答
4007 浏览

ruby - 使用 Ruby 进行科学编程

我正在使用 python 或 octave 进行数学计算,因为手头有非常好的函数和库。但最近我对 ruby​​ 产生了兴趣,我想知道 Ruby 中是否有与 Python 中用于科学编程的 numpy、scipy 等价的东西。具体来说,我正在寻找可以像在 matplotlib 中一样绘制绘图并像在 numpy 和 scipy 中一样快速进行数学、代数计算的东西。

0 投票
2 回答
5696 浏览

python - 边界条件在热方程和 Crank-Nicholson 有限差分解中的应用

下面的代码求解一维热方程,该方程表示一根杆,其末端保持在零温度,初始条件为 10*np.sin(np.pi*x)。

狄利克雷边界条件(两端温度为零)如何用于此计算?有人告诉我,矩阵 A 的上下两行包含两个非零元素,而缺少的第三个元素狄利克雷条件。但我不明白这种情况通过哪种机制影响计算。缺少 A 中的元素,u_{0} 或 u_{n} 怎么可能为零?

下面的有限差分法使用 Crank-Nicholson。

0 投票
1 回答
1867 浏览

python - 如何在python中估计(给定频率的信号功率)与时间的关系

我正在寻找一种好方法来估计信号的功率(例如以 10 kHz 定期采样)与仅在一个频率(例如 50 Hz)下的时间。我可以计算频谱图,然后以目标频率对其进行切片。不过,这似乎效率低下,因为我只关心一个频率与时间的功率。我意识到恰好一个频率的功率为零(在极限内),我想在目标频率附近的一个小频率间隔内计算信号的功率。

我目前的“解决方案”是使用 Matplotlib 的 mlab.specgram() 函数,它返回一个二维的幂数组,我只是将它切片。不过我对此并不满意,因为我并不完全信任 mab.specgram() 函数,因为计算不同信号的频谱图所需的时间截然不同(即使它们的长度相同)。

0 投票
1 回答
1979 浏览

.net - 学习直接计算的好网络资源?

我有兴趣使用 Microsoft 的 Direct Compute 框架进行数值计算。整个概念似乎是一个记录不充分的业务。是否有任何有用的资源,例如网络教程或电子书,我可以学习使用这个框架?

谢谢!

0 投票
1 回答
1034 浏览

fortran - 科学 Fortran 编译错误

我正在研究科学建模程序,甚至还没有让我的程序编译。我没有碰过我的教授坚持以前工作的代码,只有makefile。经过多次尝试,我得到的最远的是这个错误:

我的教授坚持认为这只是一个编译问题,应该有一些涉及全局变量的选项,我可以使用它来解决这个问题。我发现的最接近的是使用该选项

在makefile中,但我不确定我是否将它放在正确的位置,或者它是否有所作为,因为我仍然遇到同样的错误。

0 投票
2 回答
226 浏览

libraries - 科学计算:平衡自足和重用?

我编写科学研究代码,特别是在生物信息学方面。当然,在科学中,结果应该是可重复的。不定期参与项目并且不详细了解基础架构的人可能会合法地希望查看我的代码以重现结果。问题在于,使代码自包含足以轻松地向这样的人提供/解释似乎严重限制了可能的重用量。

  • 将多个相关项目中使用的功能分解到个人库中通常很方便,但是将所述库与 5,000 行(诚然记录不佳,因为它不打算成为生产/发布质量)代码转储是不方便的与想要快速重现结果的人手头的问题有关。

  • 在您的系统上安装一组关键库并且无需三思而后即可使用通常很方便,但是向主要是科学家而不是程序员的人解释您如何设置所有这些东西并不方便。如果您自己不记得某些细节,则尤其如此。(请注意,尽管所讨论的细节是与科学无关的技术细节。)

  • 将研究项目的几个相关方面的所有代码保存在一个有大量选项的大程序中通常很方便,而不是为您尝试的每个细微变化/事物编写完全独立的代码,但同样,转储所有代码并不方便这个,或者向那些只想重现结果的人解释这一切。

有哪些方法可以处理这些问题,以便我可以重用代码,但仍然允许想要重现我的结果的人通过合理的努力来启动和运行我的代码?请注意,我的问题的核心是创建不太成熟的可重用代码库的可能性。