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?
0 个评论
回答(1 个)
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
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spline Postprocessing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!