ある時間の値(予測)

3 visualizzazioni (ultimi 30 giorni)
qrqr
qrqr il 13 Feb 2019
Commentato: qrqr il 14 Feb 2019
以下のデータがあります。
time = [0,0.64,1.28,1.92,2.56,3.2,3.84,4.48]
data = [0,0.5,1.5,2.5,3.5,4.5,5.5,6.5]
plot(time,data)
untitled.png
この時、1秒の時、2秒の時、3秒の時・・・の値を求めることはできますか?

Risposta accettata

madhan ravi
madhan ravi il 13 Feb 2019
Modificato: madhan ravi il 13 Feb 2019
Just use interp1() (see the method it provides and adapt it to your needs):
time = [0,0.64,1.28,1.92,2.56,3.2,3.84,4.48];
data = [0,0.5,1.5,2.5,3.5,4.5,5.5,6.5];
plot(time,data)
hold on
Values=interp1(time,data,1:3);
% ^^^---- 1 to 3 seconds , linear interpolation see the link for other methods
plot(1:3,Values,'+k')
  1 Commento
qrqr
qrqr il 14 Feb 2019
皆様、ありがとうございます。

Accedi per commentare.

Più risposte (1)

Umekawa Yutaro
Umekawa Yutaro il 13 Feb 2019
こんな形はいかがでしょうか.
元のデータを多項式近似し,その多項式より新たにデータを取得したい時刻のインデックスを持つ配列を作成し求めたい値を取得します.
近似の対象区間や多項式の次数などは対象のデータに合わせて取捨選択してあげればよいかと思います.
time = [0,0.64,1.28,1.92,2.56,3.2,3.84,4.48];
data = [0,0.5,1.5,2.5,3.5,4.5,5.5,6.5];
plot(time,data)
time2 = [1:3]; % 求めたい時刻
p = polyfit(time,data, 2); %多項式近似(例で2次多項式として)
estimatedLine = polyval(p,time2); %近似した多項式の計算
plot(time,data, time2, estimatedLine, 'o');
  1 Commento
qrqr
qrqr il 14 Feb 2019
皆様、ありがとうございます。

Accedi per commentare.

Categorie

Scopri di più su Deep Learning Toolbox in Help Center e File Exchange

Prodotti


Release

R2013b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!