numerical-methods相关内容

理解自适应龙格库塔积分器的局部截断误差

我正在实现一个RKF4(5)积分器,但我无法确定我的代码是否工作正常,并且我不理解本地截断错误,或者我的代码是否不工作。 对于代码块的大小,我深表歉意,但在这种情况下,最小可重现示例相当大。 import numpy as np def RKF45(state, derivative_function, h): """ Calculate the next state ..

N维系统的模龙格-库塔四阶方法的实现

我正在尝试使我的龙格库塔4阶码模块化。我不想每次使用代码时都要编写和声明它,但是在.hpp和.cpp文件中声明它,以便分别使用它。但我遇到了一些问题。一般来说,我想要解一个n维方程组。为此,我使用了两个函数:一个用于方程组,另一个用于龙格-库塔法,如下所示: double F(double t, double x[], int eq) { // System equations ..
发布时间:2022-04-20 11:48:45 C/C++开发

在 Julia 中有效地求解一个特定的线性系统

我广泛使用 julia 的线性方程求解器 res = X\b.由于参数变化,我必须在我的程序中使用它数百万次.这工作正常,因为我使用的是小尺寸(最多 30).现在我想分析更大的系统,最多 1000,线性求解器不再有效. 我认为可以解决这个问题.但是我必须说,有时我的 X 矩阵是密集的,有时是稀疏的,所以我需要在这两种情况下都能正常工作的东西. b 向量是一个全为零的向量,除了一个始终为 ..
发布时间:2022-01-23 19:50:02 其他开发

在三角形中采样随机点

假设您有一个任意三角形,其顶点为 A、B 和 C.这篇论文(第4.2节)说可以生成随机点,P,均匀地从三角形ABC内通过以下顶点的凸组合: P = (1 - sqrt(r1)) * A + (sqrt(r1) * (1 - r2)) * B + (sqrt(r1) * r2) * C 其中r1和r2统一由[0, 1]绘制,sqrt为正方形根函数. 你如何证明在三角形ABC内均匀分布的采样 ..
发布时间:2022-01-14 15:26:51 其他开发

并行计算 Pi 的快速算法

我开始学习 CUDA,我认为计算 pi 的长数字会是一个不错的入门项目. 我已经实现了易于并行化的简单蒙特卡罗方法.我只是让每个线程在单位正方形上随机生成点,计算出单位圆内有多少个点,然后使用归约运算计算结果. 但这肯定不是计算常数的最快算法.之前,当我在单线程 CPU 上做这个练习时,我使用了 Machin-like formulae进行计算以实现更快的收敛.对于那些感兴趣的人,这涉 ..
发布时间:2022-01-10 16:14:19 其他开发

两体问题中的 Python 欧拉方法实现不起作用

我目前正在尝试解决两体问题,然后我可以升级到更多行星,但它不起作用.它正在输出我不可能的位置.有谁知道是什么原因造成的? 这是我使用的代码: 天 = 60*60*24# 常量G = 6.67408e-11dt = 0.1*天au = 1.496e11t = 0类 CelBody:def __init__(self, id, name, x0, y0, z0, vx0, vy0, vz0, ..

如何确定 MATLAB 中线性回归线的系数?

我将编写一个程序,其中输入是二维点的数据集,输出是通过最小化最小 MSE 误差得到的最佳拟合线的回归系数. 我有一些要处理的样本点: X Y1.00 1.002.00 2.003.00 1.304.00 3.755.00 2.25 我将如何在 MATLAB 中执行此操作? 具体来说,我需要得到以下公式: y = A + Bx + e A 是截距,B 是斜率,e 是每个点的残差 ..
发布时间:2021-12-08 15:23:14 其他开发

如何使用 numpy.correlate 进行自相关?

我需要对一组数字进行自相关,据我所知,这只是该集合与其自身的相关性. 我已经使用 numpy 的相关函数尝试过它,但我不相信结果,因为它几乎总是给出一个向量,其中第一个数字不是最大的,因为它应该是. 所以,这个问题实际上是两个问题: 究竟什么是numpy.correlate 在做什么? 我如何使用它(或其他东西)进行自相关? 解决方案 为了回答你的第一个问题,numpy ..
发布时间:2021-12-08 09:41:59 Python

稳健的多边形法线计算

是否有一个很好的鲁棒算法来计算凸多边形的法向量(当然是在 3D 中)?对于三角形,这很容易:取三角形的两条边并计算叉积: vec3 u = point[0] - point[1], v = point[0] - point[2];vec3 n = normalize(cross(u, v)); 但是这种方法并不能很好地扩展到多边形.多边形的某些边可能几乎或“完全"共线(这通常发生在发生 T 型 ..
发布时间:2021-11-25 02:47:04 C#

用于多维 ndarray 的 argsort

我正在尝试获取索引以按最后一个轴对多维数组进行排序,例如 >>>a = np.array([[3,1,2],[8,9,2]]) 我想要索引 i 使得, >>>[i]数组([[1, 2, 3],[2, 8, 9]]) 基于 numpy.argsort 的文档我认为它应该这样做,但我收到错误: >>>a[np.argsort(a)]索引错误:索引 2 超出轴 0 的范围,大小为 2 ..
发布时间:2021-11-18 03:02:06 Python

从数组中采样随机子集

在不从 javascript 中的数组中进行替换的情况下,随机抽取样本的干净方法是什么?所以假设有一个数组 x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 我想随机抽样 5 个唯一值;即生成长度为 5 的随机子集.要生成一个随机样本,可以执行以下操作: x[Math.floor(Math.random()*x.length)]; 但如果多次执行此操作,则 ..
发布时间:2021-11-18 01:40:04 前端开发

有没有更有效的对数嵌套方法?

这是这里发布的两个问题的延续, 在 Matlab 中声明函数递归序列 在 Pari-GP 中嵌套特定递归 长话短说,我构建了一系列函数来求解四次函数方程.我已经证明这些东西是全纯的.现在是时候制作图表了,或者至少是一些可以通过的代码来评估这些事情.我的精度已经达到了大约 13 位有效数字,但是如果我尝试获得更多,我会遇到一个特定的错误.该错误实际上只不过是溢出错误.但这是一个特殊 ..
发布时间:2021-07-05 19:24:24 其他开发