How to declare a function using the diff-command

In Matlab I am given a function whose declaration starts with this code:
function [v1, v2, v3, v4, v5, v6] = calculate_v(P1, P2, angle, difference)
dP1=P1(2) - P1(1);
dangledP1=diff(angle)/dP1;
dP2dP1=diff(P2)/dP1;
But I don't understand it. The input variables seem to be vectors. I know the diff-command returns a vector whose entries are the difference of adjacent entries. But what is happening in the first line:
dP1 = P1(2) - P1(1) ?
I mean does P1 only have two entries? I am not given any further information about the variables either.

 采纳的回答

You have to enter at least two entries for P1, dP1=P1(2) - P1(1) is like calculating the difference/ step. If you enter more then two elements also, your code will not take the other values into consideration.

2 个评论

Ok. So the difference to diff(P1) is that P1(2)-P1(1) would only equal the first entry of diff(P1)
No diff(P1) calculates the difference P(i)-P(i+1)..._diff_ calculates the difference among the successive elements and it's size would be one less then the input vector. In your code there is no diff(P1).

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

提问:

2016-12-28

编辑:

2016-12-28

Community Treasure Hunt

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

Start Hunting!

Translated by