元のプロットから対応する x、y ポイントを持つマトリックスを持つ平均曲線を取得する方法を知っている人はいますか? つまり、ミディアムシングルカーブをふります。
私はmatlabを初めて使用するので、コードや単なるアイデアは私にとって非常に役立ちます。どうもありがとうございました!
元のプロットから対応する x、y ポイントを持つマトリックスを持つ平均曲線を取得する方法を知っている人はいますか? つまり、ミディアムシングルカーブをふります。
私はmatlabを初めて使用するので、コードや単なるアイデアは私にとって非常に役立ちます。どうもありがとうございました!
できることの 1 つは、パラメトリック曲線をフィッティングすることです。これは、ノイズのある 8 の字に対してこれを行う方法の例です。
function findParamFit
clc, clf, hold on
%# some sample data
noise = @(t) 0.25*rand(size(t))-0.125;
x = @(t) cos(t) + noise(t);
y = @(t) sin(2*t) + noise(t);
t = linspace(-100*rand, +100*rand, 1e4);
%# initial data
plot(x(t), y(t), 'b.')
%# find fits
options = optimset(...
'tolfun', 1e-12,...
'tolx', 1e-12);
a = lsqcurvefit(@myFun_x, [1 1], t, x(t), -10,10, options);
b = lsqcurvefit(@myFun_y, [1 2], t, y(t), -10,10, options);
%# fitted curve
xx = myFun_x(a,t);
yy = myFun_y(b,t);
plot(xx, yy, 'r.')
end
function F = myFun_x(a, tt)
F = a(1)*cos(a(2)*tt);
end
function F = myFun_y(b, tt)
F = b(1)*sin(b(2)*tt);
end
への初期値の質に対する解の極端な感度によってここで明らかなように、これはパラメトリック曲線を適合させるための特に悪い方法であることに注意してくださいlsqcurvefit
。それにもかかわらず、パラメトリック曲線をフィッティングすることが道です。
あなたのGoogleクエリがあります:)