Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Akima样条曲线的拟合

Akima样条曲线的拟合
EN

Stack Overflow用户
提问于 2017-03-07 14:37:37
回答 2查看 1.5K关注 0票数 3

我正在尝试使用与此工具相同的方法在C#中拟合Akima样条曲线:https://www.mycurvefit.com/share/4ab90a5f-af5e-435e-9ce4-652c95c3d9a7

这条曲线给出了我想要的确切形状(曲线在X= 30M处达到峰值,来自样本数据的最高点)

但当我使用MathNet的Akima函数,并从相同的数据集中绘制52个点时:

代码语言:javascript
运行
AI代码解释
复制
    var x = new List<double> { 0, 15000000, 30000000, 40000000, 60000000 };
    var y = new List<double> { 0, 93279805, 108560423, 105689254, 90130257 };

    var curveY = new List<double>();
    var interpolation = MathNet.Numerics.Interpolation.CubicSpline.InterpolateAkima(x.ToArray(), y.ToArray());

    for (int i=1; i<=52; i++)
    {
        var cY = interpolation.Interpolate((60000000/52)*i);
        curveY.Add(cY);
    }

我没有得到相同的曲线,我得到了一条峰值在X= 26M左右的曲线,看起来更像是一条自然样条:https://www.mycurvefit.com/share/faec5545-abf1-4768-b180-3e615dc60e3a

Akimas看起来如此不同的原因是什么?(尤其是在峰值方面)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-08 16:15:46

我放弃了MathNet函数,转而在这个实现上使用CubicSpline.FitParametric()函数:https://www.codeproject.com/Articles/560163/Csharp-Cubic-Spline-Interpolation

这成功地给了我想要的拟合(完全尊重样本数据峰值)。

票数 1
EN

Stack Overflow用户

发布于 2017-03-07 14:53:45

插值方法等待双参数,但这是整数(60000000 / 52) *i

(60000000 / 52) * i更改为(60000000d / 52d) * i

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

https://stackoverflow.com/questions/42651039

复制
相关文章
B样条曲线
B样条曲线广泛应用于车辆以及航空航天等工业领域,例如:自动驾驶汽车路径规划时为了使得汽车运行平稳,需要使得运行路径的二阶导数连续(目前,AGV小车主要是通过直线和圆弧进行路径规划,由于两个阶段加速度不一致,因此在进行直线与圆弧转换过程中存在抖动问题),经常需要用到B样条曲线;其次,B样条曲线广泛应用于飞行器表面的描述。曲线的平滑处理包含近似拟合(曲线不经过点)以及插值拟合(曲线经过点)两种,在此进行简要分析。
联远智维
2022/01/20
1.5K0
B样条曲线
怎样在等值面上用 Wolfram 语言的神经网络拟合B样条曲线
读到这篇小文的朋友:新年好!今天我们将在本文中简单探索一个结合Wolfram语言的神经网络与B样条功能的有趣问题。
WolframChina
2021/03/15
1.8K0
怎样在等值面上用 Wolfram 语言的神经网络拟合B样条曲线
origin画图怎么拟合曲线_origin拟合平滑曲线
需要用到matlab的拟合曲线中的smoothing spline功能,同时origin画的图又比较好看且可以后续做多条切线,因此记录下matlab与origin联合使用的方法,并加上用origin的tangent插件做曲线多条切线的方法。 在matlab中输入数据 在命令行窗口输入数据如下面代码所示,或者 新建变量直接从excel中复制
全栈程序员站长
2022/11/08
2.4K0
origin画图怎么拟合曲线_origin拟合平滑曲线
CAD VBA创建样条曲线
以下代码使用 CreateTypedArray 转换三个数组:样条曲线拟合点的坐标及其起点和端点切向。然后将变量传递给 AddSpline 方法,创建样条曲线。
办公魔盒
2019/07/22
1.1K0
CAD VBA创建样条曲线
散点图加拟合曲线
同样的 x 变量和 y 变量,描述的同样的数据,可以用散点图和平滑曲线图,从中都可以看出数据的趋势,ggplot中可以很容易的将这两个图结合在一张图上。
生信编程日常
2020/04/01
2.2K0
散点图加拟合曲线
Matlab优化拟合曲线
其中,y(t) 是时间 t 时的响应,A 和 λ 是要拟合的参数。对曲线进行拟合是指找出能够使误差平方和最小化的参数 A 和 λ,误差平方和为目标函数
用户9925864
2022/07/27
8040
Matlab优化拟合曲线
MATLAB曲线拟合
多项式拟合函数:polyfit。该函数的结果将保证在数据点上拟合值与数据值差的平方和最小,即最小二乘曲线拟合。 调用格式: polyfit(X,Y,n) 执行该函数将产生一个n阶多项式P,并且使得P(X)=Y。
里克贝斯
2021/05/21
1.3K0
MATLAB曲线拟合
MATLAB 插值与拟合
二.拟合 1.1元多项式曲线拟合(Polynomial Curve Fitting):
全栈程序员站长
2022/09/06
8500
MATLAB 插值与拟合
曲线拟合的几种解释
曲线拟合是一个经典的问题,将其数学化后是:已知训练数据x\bf{x}和对应的目标值t\bf{t}。通过构建参数为w\bf{w}的模型,当新的xx出现,对应的tt是多少。 本文将从误差和概率的角度探讨如
用户1147754
2018/01/02
1.5K0
基于R统计软件的三次样条和平滑样条模型数据拟合及预测
三次样条 具有连续的一阶和二阶导数。 我们通过应用基础函数来变换变量  并使用这些变换后的变量拟合模型, 向模型添加非线性, 使样条曲线能够拟合更平滑 。
拓端
2020/08/22
2.3K0
[TensorFlowJS只如初见]实战三·使用TensorFlowJS拟合曲线
[TensorFlowJS只如初见]实战三·使用TensorFlowJS拟合曲线 问题描述 拟合y= x*x -2x +3 + 0.1(-1到1的随机值) 曲线 给定x范围(0,3) 问题分析 在直线拟合博客中,我们使用最简单的y=wx+b的模型成功拟合了一条直线,现在我们在进一步进行曲线的拟合。简单的y=wx+b模型已经无法满足我们的需求,需要利用更多的神经元来解决问题了。 代码 <html> <head> <script src="https://cdn.jsdelivr
小宋是呢
2019/06/27
9740
[TensorFlow深度学习入门]实战三·使用TensorFlow拟合曲线
[深度学习入门]实战三·使用TensorFlow拟合曲线 问题描述 拟合y= x*x -2x +3 + 0.1(-1到1的随机值) 曲线 给定x范围(0,3) 问题分析 在上篇博客中,我们使用最简单的y=wx+b的模型成功拟合了一条直线,现在我们在进一步进行曲线的拟合。简单的y=wx+b模型已经无法满足我们的需求,需要利用更多的神经元来解决问题了。 生成数据 import numpy as np import matplotlib.pyplot as plt import ten
小宋是呢
2019/06/27
2.8K0
[TensorFlow深度学习入门]实战三·使用TensorFlow拟合曲线
Fityk-曲线拟合工具
Fityk是一个非线性拟合和数据分析工具,通常用于实验数据的分析,可以支持常见的峰形功能。它界面直观,支持进行用户定义,可以进行优化和自动处理 。可运行于Linux,Windows,和MacOS X,最新版本0.9.2。主页:http://www.unipress.waw.pl/fityk/ 在随机数据的曲线拟合上取得的重要成果,可以和Excel处理的数学公式类型一样的多。Fityk主要是图形用户界面,同时也提供命令行版本(cfityk),因此它可用于自动化曲线拟合和预测。cfityk使用的指令文件只不过是
张善友
2018/01/19
2.4K0
Fityk-曲线拟合工具
多项式曲线拟合
import numpy as np #主要用于处理矩阵相关运算 import random #主要用于随机数处理 import matplotlib.pyplot as plt #数据可视化模块 #多项式的次数 m=10#生成样本数据点 x=np.arange(-1,1,0.02) y=[((a*a-1.55)**3+(a-0.3)**7+4*np.sin(5*a)) for a in x] #可视化真实曲线 plt.plot(x,y,color='g',linestyle='--',mar
裴来凡
2022/05/29
7070
多项式曲线拟合
实验10 Bezier曲线生成-实验提高-交互式生成B样条曲线
本代码通过交互方式来生成三次B样条曲线。主要功能: 根据鼠标左键点击产生控制点,再由控制点生成三次B样条曲线; 鼠标右键弹出菜单“New B-Spline Curve”清除当前曲线,并开始新曲线。 #include <GL/glut.h> #include <stdio.h> #include <stdlib.h> #include <vector> using namespace std; struct Point { int c[2]; int& x = c[0]; int& y = c[1]
步行者08
2022/06/12
6330
MATLAB进行稀疏点的曲线拟合
a = [0.06 0.08 0.1 0.12]; b = [1.30, 1.52, 1.85, 2.59]; figure values = spcrv([[a(1) a a(end)];[b(1
狼啸风云
2019/04/29
1.6K0
MATLAB进行稀疏点的曲线拟合
origin:origin下载 origin怎么拟合曲线
Origin 是一款科学绘图软件,由美国 OriginLab 公司开发,旨在提供一个强大且易于使用的工具,用于绘制高质量的科学图表、数据可视化、数据分析和数据处理等。Origin 软件支持多种数据格式,包括 Excel、MATLAB、ASCII、LabVIEW 等,同时还支持多种统计分析和图形处理功能。
用户10518093
2023/04/23
9720
origin:origin下载  origin怎么拟合曲线
python3-曲线拟合(polyfit
【polyfit】多项式曲线拟合 【polyval】多项式曲线求值 import numpy as np import matplotlib.pyplot as plt x_data = np.random.rand(100).astype(np.float32) y_data = x_data * 0.1 + 0.3 poly = np.polyfit(x_data, y_data, deg = 1) plt.plot(x_data, y_data, 'o') plt.plot(x_data, n
py3study
2020/01/10
2K0
OpenCV中实现曲线与圆拟合
使用OpenCV做图像处理与分析的时候,经常会遇到需要进行曲线拟合与圆拟合的场景,很多OpenCV开发者对此却是一筹莫展,其实OpenCV中是有现成的函数来实现圆拟合与直线拟合的,而且还会告诉你拟合的圆的半径是多少,简直是超级方便,另外一个常用到的场景就是曲线拟合,常见的是基于多项式拟合,可以根据设定的多项式幂次生成多项式方程,然后根据方程进行一系列的点生成,形成完整的曲线,这个车道线检测,轮廓曲线拟合等场景下特别有用。下面就通过两个简单的例子来分别学习一下曲线拟合与圆拟合的应用。
OpenCV学堂
2018/07/26
5.4K1
OpenCV中实现曲线与圆拟合
利用MATLAB进行曲线拟合
软件环境:MATLAB2013a 一、多项式拟合 多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小。 在MATLAB中,利用函数ployfit和ployval进行多项式拟合。 函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n)。其中x为自变量,y为因变量,n为多项式阶数。 polyval的输入可以是标量或矩阵,调用格式为 pv = polyval(p,a) pv = polyval(p
Zoctopus
2018/06/04
3.3K0

相似问题

通过散点拟合样条曲线

13

用于样条曲线拟合的RANSAC

11

三次样条曲线拟合

12

三次样条/曲线拟合

15

gsl akima样条插值误差

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档