How to solve the loss of values while using the diff function ?

4 ビュー (過去 30 日間)
Sethumadhavan Suresh
Sethumadhavan Suresh 2017 年 5 月 18 日
コメント済み: Sean de Wolski 2017 年 5 月 18 日
Hey guys , So i was given the altitude and time data for a certain incident and i was required to find velocity and acceleration . This is what a part of my code looks like :
t=0:10:250;
tv=(t(1)+t(2))/2:10:t(end);
vel=diff(c)./diff(t);
acc=diff(vel)./diff(tv);
But what do i define my time for acceleration as? is it ta = (tv(1)+tv(2))/2:10:t(end); because that did not seems to work as it would have 25 elements while i only need 24 as the acceleration variable has only 24 elements . Please help ! thanks in advance!

回答 (2 件)

Stephen23
Stephen23 2017 年 5 月 18 日
編集済み: Stephen23 2017 年 5 月 18 日
Use gradient instead.
  1 件のコメント
Sean de Wolski
Sean de Wolski 2017 年 5 月 18 日
Slick. I've always zero-padded or used one of the FEX entries but this is better.

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


KSSV
KSSV 2017 年 5 月 18 日
編集済み: KSSV 2017 年 5 月 18 日
Why you are worried about size of time? You have to use time step (dt) which remains constant.
t=0:10:250;
dt = min(diff(t)) ;
% tv=(t(1)+t(2))/2:10:t(end);
vel=diff(c)./dt;
acc=diff(vel)./dt;

カテゴリ

Help Center および File ExchangeMathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by