ある時間の値(予測)

1 回表示 (過去 30 日間)
qrqr
qrqr 2019 年 2 月 13 日
コメント済み: qrqr 2019 年 2 月 14 日
以下のデータがあります。
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秒の時・・・の値を求めることはできますか?

採用された回答

madhan ravi
madhan ravi 2019 年 2 月 13 日
編集済み: madhan ravi 2019 年 2 月 13 日
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 件のコメント
qrqr
qrqr 2019 年 2 月 14 日
皆様、ありがとうございます。

サインインしてコメントする。

その他の回答 (1 件)

Umekawa Yutaro
Umekawa Yutaro 2019 年 2 月 13 日
こんな形はいかがでしょうか.
元のデータを多項式近似し,その多項式より新たにデータを取得したい時刻のインデックスを持つ配列を作成し求めたい値を取得します.
近似の対象区間や多項式の次数などは対象のデータに合わせて取捨選択してあげればよいかと思います.
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 件のコメント
qrqr
qrqr 2019 年 2 月 14 日
皆様、ありがとうございます。

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDeep Learning Toolbox についてさらに検索

製品


リリース

R2013b

Community Treasure Hunt

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

Start Hunting!