Instantaneous Velocity from Displacement and Time values

11 views (last 30 days)
I have an array of displacement values:
A = 6.15980273514821 6.14448346902259 6.08845116089753 6.10237740189123 6.11608152736223 6.09595708310386 6.08721312535112 6.08234899002155 6.06714986110611 6.07783516323856 6.07792347114879 6.06942843038110 6.06019133043305 6.06261550608395 6.06392554207175 6.07403400879634 6.07480165775461 6.06023816732260 6.06413215823230 6.05980866775166 6.06188423198093 6.04539247866406 5.68706601480939 4.73891273276360 3.33633000147301 1.53377736474907 -0.520209410928023 -2.51119577960674 -4.41312227437336 -6.03989364014165 -7.19838227617766 -7.84654759197349 -7.92368071295474 -7.47392854770517 -6.51019780560905 -5.07107069256220 -3.36973422578889 -1.50050787991370 0.434155257792691 2.12215009949313 3.53006148407630 4.49610896364585 4.92744726480430 4.84056078059572 4.19929415413135 3.15383591162506 1.71286595583864 0.0390502408958251 -1.66192845643858 -3.33294692803218 -4.80249308136781 -5.90361702482525 -6.60666839598799 -6.83843319677040 -6.59833738833612 -5.93158620238645 -4.88505199941910 -3.58238928898158 -2.06162498335311 -0.427978306324553 0.962092147565693 2.21079406034967 3.14407320606021 3.65032027290402 3.71648804678824 3.36000706616073 2.65928916279476 1.60114590344026 0.338579806471336 -1.05833481215168 -2.38367221913169 -3.62501491627475 -4.59871735106957 -5.27463472098307 -5.58863040574497 -5.53036784838860 -5.12001863794680 -4.40681325596626 -3.46518774940656 -2.33147881794239 -1.14253025773902 -0.00120193018594039 1.05416533403683 1.83655243804809 2.34317552443391 2.51855601770804 2.35120342999738 1.90235109235008 1.20233485658391 0.313322912257294 -0.653990145486640 -1.69393994166169 -2.63711164436859 -3.42076266517382 -4.02060849879423 -4.33535045567851 -4.36763583177268 -4.13384363802889 -3.71579617090779 -3.09613185931849 -2.32897335309416 -1.52312351601432 -0.701703723373771 0.0711680436921752 0.672844202931666 1.10019974546121 1.29362318476486 1.24624021443152 1.00403874870039 0.578535494879244 0.0570974441039399 -0.533999805458487 -1.25937401298772 -1.89751921254205 -2.43726901746249 -2.86612610147998 -3.10413193915387 -3.17648524812527 -3.09292469052149 -2.86041286479119 -2.51737566053157 -2.07827258343221 -1.59714345763504 -1.12131785748468 -0.684853319666407 -0.311635411569174 -0.0471022387485308 0.124943852858797 0.127457738929030 0.0209992133123575 -0.216932487595427 -0.456658041475563 -0.764024038661157 -1.10649998879281 -1.39863622698775 -1.67789062705118 -1.88198237554644 -2.01286200701089 -2.05199182485704 -2.00598298730182 -1.92968767887397 -1.78696046276908 -1.64438292043114 -1.48021633242652 -1.31952886260734 -1.18885615969264 -1.07703421305764 -1.01084132179629 -0.971420999249929 -0.978062595741639 -1.01633916058985 -1.05795798469255 -1.09667325981377 -1.11085346887283 -1.12409055761398 -1.12016261878873 -1.10103924041538 -1.11490152792194 -1.11030180564636 -1.10262398739387 -1.11600110094369 -1.10915545278102 -1.12224635477858 -1.10928290200281 -1.11456953961204 -1.11506577559769 -1.10755461106175 -1.10241423280547 -1.11201076964811 -1.10010826509149 -1.11036709193206 -1.11166169215054 -1.11078017535838 -1.10075679537967 -1.10515068040254 -1.09841841252615 -1.10525068092991 -1.11013377694876 -1.11442014135102 -1.12395438247066 -1.09289999828900 -1.11631092596834 -1.13869108092094 -1.13121778411954 -1.11215444772567 -1.08305854689202 -1.07883522161388 -1.07326282278712 -1.09472438786799 -1.10750902820709 -1.11217002961544 -1.13381869147951 -1.12125917557095 -1.10723556079011 -1.12557827186296 -1.11694476376681 -1.10884208834009 -1.10912360573283 -1.12847109342915 -1.11858837419542 -1.13305857893018 -1.13154828131123 -1.11008600118065 -1.11778945807900 -1.11094000460207 -1.09273674128867 -1.10301981432017 -1.07016391933250 -1.05176885156881 -1.03808129358095
and an array of Time periods for the displacement values
T = 0 0.0667334000667334 0.100100100100100 0.133466800133467 0.166833500166834 0.200200200200200 0.233566900233567 0.266933600266934 0.300300300300300 0.333667000333667 0.367033700367034 0.400400400400400 0.433767100433767 0.467133800467134 0.500500500500501 0.533867200533867 0.567233900567234 0.600600600600601 0.633967300633967 0.667334000667334 0.700700700700701 0.734067400734067 0.767434100767434 0.800800800800801 0.834167500834168 0.867534200867534 0.900900900900901 0.934267600934268 0.967634300967634 1.00100100100100 1.03436770103437 1.06773440106773 1.10110110110110 1.13446780113447 1.16783450116783 1.20120120120120 1.23456790123457 1.26793460126793 1.30130130130130 1.33466800133467 1.36803470136803 1.40140140140140 1.43476810143477 1.46813480146813 1.50150150150150 1.53486820153487 1.56823490156823 1.60160160160160 1.63496830163497 1.66833500166834 1.70170170170170 1.73506840173507 1.76843510176844 1.80180180180180 1.83516850183517 1.86853520186854 1.90190190190190 1.93526860193527 1.96863530196864 2.00200200200200 2.03536870203537 2.06873540206874 2.10210210210210 2.13546880213547 2.16883550216884 2.20220220220220 2.23556890223557 2.26893560226894 2.30230230230230 2.33566900233567 2.36903570236904 2.40240240240240 2.43576910243577 2.46913580246914 2.50250250250250 2.53586920253587 2.56923590256924 2.60260260260260 2.63596930263597 2.66933600266934 2.70270270270270 2.73606940273607 2.76943610276944 2.80280280280280 2.83616950283617 2.86953620286954 2.90290290290290 2.93626960293627 2.96963630296964 3.00300300300300 3.03636970303637 3.06973640306974 3.10310310310310 3.13646980313647 3.16983650316984 3.20320320320320 3.23656990323657 3.26993660326994 3.30330330330330 3.33667000333667 3.37003670337004 3.40340340340340 3.43677010343677 3.47013680347014 3.50350350350350 3.53687020353687 3.57023690357024 3.60360360360360 3.63697030363697 3.67033700367034 3.70370370370370 3.73707040373707 3.77043710377044 3.80380380380380 3.83717050383717 3.87053720387054 3.90390390390390 3.93727060393727 3.97063730397064 4.00400400400400 4.03737070403737 4.07073740407074 4.10410410410410 4.13747080413747 4.17083750417084 4.20420420420420 4.23757090423757 4.27093760427094 4.30430430430430 4.33767100433767 4.37103770437104 4.40440440440441 4.43777110443777 4.47113780447114 4.50450450450451 4.53787120453787 4.57123790457124 4.60460460460461 4.63797130463797 4.67133800467134 4.70470470470471 4.73807140473807 4.77143810477144 4.80480480480481 4.83817150483817 4.87153820487154 4.90490490490491 4.93827160493827 4.97163830497164 5.00500500500501 5.03837170503837 5.07173840507174 5.10510510510511 5.13847180513847 5.17183850517184 5.20520520520521 5.23857190523857 5.27193860527194 5.30530530530531 5.33867200533867 5.37203870537204 5.40540540540541 5.43877210543877 5.47213880547214 5.50550550550551 5.53887220553887 5.57223890557224 5.60560560560561 5.63897230563897 5.67233900567234 5.70570570570571 5.73907240573907 5.77243910577244 5.80580580580581 5.83917250583917 5.87253920587254 5.90590590590591 5.93927260593927 5.97263930597264 6.00600600600601 6.03937270603937 6.07273940607274 6.10610610610611 6.13947280613947 6.17283950617284 6.20620620620621 6.23957290623957 6.27293960627294 6.30630630630631 6.33967300633967 6.37303970637304 6.40640640640641 6.43977310643977 6.47313980647314 6.50650650650651 6.53987320653987 6.57323990657324 6.60660660660661 6.63997330663997 6.67334000667334 6.70670670670671 6.74007340674007 6.77344010677344 6.80680680680681 6.84017350684017 6.87354020687354 6.90690690690691 6.94027360694027 6.97364030697364 7.00700700700701
And i need to get the values of instantaneous velocity at the displacement positions.
I considered using diff and gradient, but what i would get is the average velocity.
The displacement values obtained are experimental, so there's no function I can differentiate to obtain instantaneous velocity.
Is there a way to numerically differentiate the displacement values to get instantaneous velocity, not average velocity?

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 12 Feb 2021
There are busloads of things you could try: interpolate to a denser time-grid (using 'phcip' or 'spline' for interpolation method) and take the gradients from that output, you could try some low-order fliding polynomial fits (quadratic over 3-5 points?) and calculate the gradient from those polynomials. But why would they be that much "better" than gradient?
HTH
  3 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 12 Feb 2021
Edited: Bjorn Gustavsson on 12 Feb 2021
The question is "half-rethorical", in the sense that you have what you have in terms of displacement vs time. From some sort of philosophical perspective you have no information about the position at the intervalls inbetween the observations, and because of that you'll have no information about the velocities. From a more practical perspective we can (and have done and will keep on doing) assumptions about smoothness of the trajectory. After that you can easily start using gradient to estimate the instantaneous velocity or use other methods. Which is better will depend on how smooth you expect the trajectory (or the acceleration) to be compared to the expected noise-level of your measurements. If you know something more about the trajectory, for example that the acceleration should behave in some neatish way you can use that to fit a smooth trajectory that is consisten to your measurements taking noise into account. Just try different things and see what you have in your data.
KLETECH MOTORSPORTS
KLETECH MOTORSPORTS on 12 Feb 2021
I was thinking maybe that I could define the time period to be so small that the ensuing value of velocity is near instantaneous?
I'm trying to interpolate values of displacement 0.0001 seconds before and after the actual Time period values, so that when i use , the velocity is very close to instantaneous.
I can change 0.0001 to smaller values if need be.
I think spline interpolation, like you mentioned, would work best?

Sign in to comment.

Categories

Find more on Spline Postprocessing in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!