ある時間の値(予測)
1 回表示 (過去 30 日間)
古いコメントを表示
以下のデータがあります。
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)
この時、1秒の時、2秒の時、3秒の時・・・の値を求めることはできますか?
0 件のコメント
採用された回答
madhan ravi
2019 年 2 月 13 日
編集済み: madhan ravi
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)
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 件)
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');
参考
カテゴリ
Help Center および File Exchange で Deep Learning Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!