MATLAB Answers

0

how does a diff operation works for relational and logical cases with arrays ?

Asked by mayank ghugretkar on 7 Jun 2019
Latest activity Answered by Star Strider
on 7 Jun 2019
i was trying to work with diff operator after trying out sum[1 2 4 6]
diff([14 5 6 14 32])
ans=
-9 1 8 18
above statement is understandable.
diff([14 5 6 14 32]==14)
ans=
-1 0 1 -1
this i can't understand !
how is this working???

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by madhan ravi
on 7 Jun 2019

A = [14 5 6 14 32]==14 % Split it into two lines
diff(A)

  0 Comments

Sign in to comment.


Answer by Star Strider
on 7 Jun 2019

The argument creates a logical array:
Lv = [14 5 6 14 32]==14
Lv =
1×5 logical array
1 0 0 1 0
and logical arrayss become numeric when you do calculations with them:
D = diff(Lv)
D =
-1 0 1 -1
Similarly:
v = [14 5 6 14 32];
LogicalIndexing = v(Lv)
Multiplication = v .* Lv
LogicalIndexing =
14 14
Multiplication =
14 0 0 14 0

  0 Comments

Sign in to comment.