Instantaneous Velocity from Displacement and Time values

11 次查看(过去 30 天)
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?

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2021-2-12
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 个评论
Bjorn Gustavsson
Bjorn Gustavsson 2021-2-12
编辑:Bjorn Gustavsson 2021-2-12
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
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Spline Postprocessing 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by