matlab - Octave:如何使用 Octave 将正弦曲线拟合到我的数据中?

标签 matlab octave data-fitting trigonometry

我的目标是使用 Octave 将正弦曲线拟合到来自数据记录器的数据。 数据记录器记录使用偏心产生的力,因此理论上它应该是正弦波。

我在其他地方找不到任何关于如何执行此操作的提示。

目前,我正在使用函数“splinefit”,后跟“ppval”来拟合我的数据,但我并没有真正得到我希望的结果...... 有人知道如何将正弦曲线拟合到我的数据中吗?

这是我当前用于拟合数据的代码和结果的屏幕截图:

## splinefit force left
spfFL = splinefit(XAxis,forceL,50);    
fitForceL=ppval(spfFL,XAxis);

##middle force left
meanForceL=mean(fitForceL);
middleedForceL=fitForceL-meanForceL;

结果样条拟合

在 X 轴上我有 30'000 个测量点或日志

在 Y 轴上我有实际测量的力值

数据来自像这样的 .csv 文件中的数据记录器

最佳答案

您可以使用(时间)输入的正弦和余弦作为回归特征来进行简单的回归。

这是一个例子

% Let's generate a dataset from a known sinusoid as an example
N       = 1000;
Range   = 100;
w       = 0.25; % known frequency (e.g. from specs or from fourier analysis)
Inputs  = randi(Range, [N, 1]);
Targets = 0.5 * sin( w * Inputs + pi/3 ) + 0.05 * randn( size( Inputs ) );

% Y = A + B sin(wx) + C cos(wx);    <-- this is your model
Features = [ ones(N, 1), sin(w * Inputs), cos(w * Inputs) ];
Coefs    = pinv(Features) * Targets;
A = Coefs(1); % your solutions
B = Coefs(2); 
C = Coefs(3);

% print your nice solution against the input dataset
figure('position', [0, 0, 800, 400])
ax1 = axes()
plot(Inputs, Targets, 'o', 'markersize', 10, ...
                           'markeredgecolor', [0, 0.25, 0.5], ...
                           'markerfacecolor', [0, 0.5, 1], ...
                           'linewidth', 1.5)
set(ax1, 'color', [0.9, 0.9, 0.9])
ax2 = axes()
X = 1:0.1:Range;
plot( X, A + B*sin(w * X) + C*cos(w * X), 'k-', 'linewidth', 5 ); hold on
plot( X, A + B*sin(w * X) + C*cos(w * X), 'g-', 'linewidth', 2 ); hold off
set(ax2, 'xlim', get(ax1, 'xlim'), 'ylim', get(ax1, 'ylim'), 'color', 'none')

enter image description here

关于matlab - Octave:如何使用 Octave 将正弦曲线拟合到我的数据中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53092373/

相关文章:

design-patterns - 数学 : Processing Fit Parameters

python - Scipy 曲线拟合优化不适用于对数刻度值

matlab - 如何将 'MarkerSize' 关联到表示绘制圆的半径的值?

matlab - 在Matlab中给定弧长和方向/角度在曲面上找到一个点

matlab - ICA - 协方差矩阵的统计独立性和特征值

c++ - OpenCV 中的连接组件

machine-learning - ML - Octave - 正则化 Logistic 回归的梯度函数

octave - 对除 Octave 中第一个元素之外的向量元素求和

matlab - 通过线性索引进行加法

python - 最小二乘适用于 3d 表面的 python