Instantaneous Velocity from Displacement and Time values
11 views (last 30 days)
Show older comments
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?
0 Comments
Answers (1)
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
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.
See Also
Categories
Find more on Spline Postprocessing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!