问题标签 [curve-fitting]

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 投票
2 回答
5614 浏览

javascript - 如何计算贝塞尔曲线上的控制点?

我确实有一条贝塞尔曲线,并且在某个点上,我想要第二条贝塞尔曲线以平滑的方式“分支”第一条曲线。除了计算交点(按照贝塞尔曲线的百分比),我还需要控制点(切线和权重)。使用以下 javascript 计算交点:

(非 IE 浏览器可以在 http://www.iscriptdesign.com -> Tutorial -> Groups & Paths看到它的运行情况)。我现在需要的是分支点的控制点或(切线和权重)(我不知道从哪里开始,我希望有人可以指出一些代码或数学方程,如果可能的话,作为来自相同参数的函数如上面的 getBezier 函数)。

0 投票
2 回答
2727 浏览

matlab - matlab概率分布拟合

这可能是一个愚蠢的问题!我有一个数组 P,它表示某些数据的概率分布,例如 [0;0.3;0.7] 如何确定 P 的离散概率分布的类型或类别?我无法获得原始数据。

dfittool 或 fitdist 要求我将数据作为输入,而我已经有了它的概率分布。有任何想法吗?

0 投票
2 回答
405 浏览

r - 通过两个坐标都有差异的点构建线

我有一些点,每个点的坐标都有差异。它存储在数组中(只是一个例子):

每个点的坐标是 (x +/- dx, y +/- dy)。

我想用线 y=k*x 拟合它并得到结果:k +/- dk。

0 投票
2 回答
1879 浏览

c# - 迭代平滑曲线

我一整天都在尝试这样做。基本上,我有一条线和一个点。我希望线弯曲并通过该点,但我不想要平滑的曲线。我不能像这样定义曲线中的步数(当心粗略的 mspaint 绘图): 曲线

等等。我尝试了各种方法,例如从初始线的中心取角度,然后在角度引导的点处分割线,但长度有问题。我只会取初始长度并将其除以我所处的步数,但这并不完全正确。

任何人都知道这样做的方法吗?

谢谢。

0 投票
1 回答
3277 浏览

r - 尝试使用 ggplot2 的 geom_smooth() 显示原始和拟合数据(nls + dnorm)

我正在探索一些数据,所以我想做的第一件事是尝试对其进行正态(高斯)分布。这是我第一次在 R 中尝试这个,所以我一步一步来。首先,我预先合并了我的数据:

情节1

由于我想要计数,我需要添加一个归一化因子 (N) 来扩大密度:

然后我为显示创建拟合数据,一切正常:

情节2

当我发现这个线程谈论使用 geom_smooth() 一步完成所有操作时,我感到很兴奋,但我无法让它工作:

这是我尝试的......以及我得到的:

该错误似乎表明它正在尝试适应观察到的变量counts,但这没有任何意义,而且如果我也为 counts 指定一个“起始”值,它可以预见会吓坏:

知道我做错了什么吗?当然,这不是世界末日,但步骤越少越好,你们总是为这些常见任务想出最优雅的解决方案。

提前致谢!

杰弗里

0 投票
3 回答
320 浏览

r - 数据点的随机曲线分布

背景

提供一个 R 编程示例。

问题

创建一个值分布,该分布在建模时会产生类似于以下内容的曲线:

本质上,我想做类似的事情:

但如果没有 0.5 左右的数据点簇:

问题

您将如何创建这样的分布?

谢谢!

0 投票
2 回答
2345 浏览

matlab - MATLAB 似乎在 MATLAB 7.10.0 学生版中找不到 csaps()

我有一些使用csaps()Matlab 的三次平滑样条拟合函数的代码,我想给使用 MATLAB 7.10.0 (R2010a) 的学生。

由于某种原因,该功能似乎不存在,即使学生安装了曲线拟合工具箱:

我在这里错过了什么吗?这是 的输出path

0 投票
2 回答
5535 浏览

python - python中的曲线拟合

嘿,我有一组频率和功率谱值,我必须在对数刻度上绘制功率谱与频率。完成后,我需要通过它通过最适合的直线。我得到线性比例的线。但是当我尝试将它叠加到频率功率谱图上时,结果图没有显示任何线,相反,第一个图的数据点只是在空间上移动。此外,如果使用 loglog 函数在对数刻度上绘制同一行,则不会显示。

有人能告诉我我应该怎么做才能得到对数刻度线吗?

所以我有一个包含三列的文件;频率,功率规格。电源信号..这是我为绘制数据和线而写的一段..

0 投票
3 回答
4490 浏览

python - SciPy 全局最小曲线拟合

我正在使用scipy.optimize.curve_fit,但我怀疑它正在收敛到局部最小值而不是全局最小值。

我尝试通过以下方式使用模拟退火:

specf我要拟合的曲线在哪里。尽管返回值表明已达到全局最小值,但结果p显然比返回的最小值更差(请参阅 anneal)。curve_fit

我怎样才能改善结果?SciPy 中是否有全局曲线拟合器?

0 投票
1 回答
1733 浏览

algorithm - c++中具有最小累积高度差的直方图峰值识别和高斯拟合

前段时间我已经在以下线程中问过类似的问题:上一个线程。不幸的是,直到现在我还不能完全解决这个问题,只能解决。由于很难将所有新信息包含在前一个线程中,我在这里发布了一个具有不同上下文的改进和扩展问题,并将其链接到旧线程。

我目前正在从一篇论文中实现一种算法,该算法通过动态识别数据集直方图中的值范围来提取 3D 数据集的某些区域。以简化的方式,该方法可以描述如下:

  1. 在直方图中找到最高峰
  2. 将高斯拟合到峰值
  3. 使用由高斯平均值 (µ)+/- 偏差 (ϭ) 定义的值范围来识别直方图的某些区域,并从原始直方图中移除这些区域的体素(=3D 像素)。
  4. 作为上一步的结果,应该显示一个新的最高峰,在此基础上可以重复步骤 1-3。重复这些步骤,直到数据集直方图为空。

我的问题与上述描述的第 1 步和第 2 步有关,在论文中描述如下:“识别出最高峰,并将高斯曲线拟合到其形状。高斯由其中点 µ、高度 h 和偏差描述ϭ.拟合过程最小化直方图与高斯中间部分的累积高度差。误差求和范围为μ+/ϭ?” 1

在下文中,我将提出我的问题并添加我对它们的思考:

  1. 我应该如何识别描述最高峰的总直方图的那些箱?为了识别它的顶点,我简单地遍历直方图并存储频率最高的 bin 的索引。但是峰值的延伸应该到达最高 bin 的左侧和右侧多远。目前,只要下一个 bin 比前一个 bin 小,我就简单地从最高 bin 的左侧和右侧移动。然而,这通常是一个非常小的范围,因为在直方图中会出现折痕(迷你峰)。我已经考虑过平滑直方图。但是我必须在每次迭代后这样做,因为体素的减法(上面描述中的第 3 步)会导致直方图再次包含折痕。而且我也担心重复的平滑会扭曲结果。因此,我想问一下是否有一种比我目前的方法更好的检测峰值扩展的有效方法。有关于混合模型和反卷积的建议上一个线程。但是,如果直方图的形状在每次迭代后不断变化,这些方法真的合理吗?
  2. 如何将高斯曲线拟合到识别的峰值,以使直方图和高斯中间部分之间的累积高度差最小化?根据上一个线程中的问题一个,我通过计算它们的均值和偏差将曲线拟合到给定范围的直方图箱(我希望这是正确的?!)。但是如何从这一点最小化直方图和高斯中间部分之间的累积高度差?

感谢您的帮助!问候马克