フィルターのクリア

How to find a velocity when you have time and position values in an array?

3 ビュー (過去 30 日間)
Kelly Harmison
Kelly Harmison 2018 年 2 月 21 日
編集済み: Kelly Harmison 2018 年 2 月 21 日
I am required to differentiate by calling values from an array. I am also required to use either a for or a while loop.
  2 件のコメント
James Tursa
James Tursa 2018 年 2 月 21 日
What have you done so far? What specific problems are you having with your code? What is the relationship between velocity and position?
Kelly Harmison
Kelly Harmison 2018 年 2 月 21 日
編集済み: Kelly Harmison 2018 年 2 月 21 日
The main idea is to know how to differentiate on Matlab. I have two vectors: time and position. I am supposed to use a loop to call specific values from the position vector and find their slope (velocity).

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

回答 (1 件)

Roger Stafford
Roger Stafford 2018 年 2 月 21 日
編集済み: Roger Stafford 2018 年 2 月 21 日
Let x and y be row vectors of the same length where x gives successive values of the independent variable and y the corresponding dependent variable values - in this case x values are times and y values distances. It is not necessary that x values be equally-spaced. To get a second order approximation of the derivative at each point, do this:
x1 = x([3,1:end-1]); x2 = x([2:end,end-2]);
y1 = y([3,1:end-1]); y2 = y([2:end,end-2]);
dydx = ((y2-y).*(x-x1).^2+(y-y1).*(x2-x).^2)./((x2-x).*(x-x1).*(x2-x1));
The row vector dydx will give approximate values of the derivative of y with respect to x. This is a vectorized solution - no for loops or while loops are necessary.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by