How to declare a function using the diff-command

1 回表示 (過去 30 日間)
Luki
Luki 2016 年 12 月 28 日
編集済み: KSSV 2016 年 12 月 28 日
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.

採用された回答

KSSV
KSSV 2016 年 12 月 28 日
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 件のコメント
Luki
Luki 2016 年 12 月 28 日
Ok. So the difference to diff(P1) is that P1(2)-P1(1) would only equal the first entry of diff(P1)
KSSV
KSSV 2016 年 12 月 28 日
編集済み: KSSV 2016 年 12 月 28 日
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 件)

Community Treasure Hunt

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

Start Hunting!

Translated by