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

1 次查看(过去 30 天)
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???

回答(2 个)

madhan ravi
madhan ravi 2019-6-7
A = [14 5 6 14 32]==14 % Split it into two lines
diff(A)

Star Strider
Star Strider 2019-6-7
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

类别

Help CenterFile Exchange 中查找有关 Arithmetic Operations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by