How to find a velocity when you have time and position values in an array?
5 次查看(过去 30 天)
显示 更早的评论
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
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?
回答(1 个)
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 Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!