how velocize operation boolean

3 Ansichten (letzte 30 Tage)
pipor
pipor am 6 Sep. 2023
Kommentiert: Image Analyst am 6 Sep. 2023
N = 5
N = 5
a=[0.3 1 0 3 9]
a = 1×5
0.3000 1.0000 0 3.0000 9.0000
b=a<N
b = 1×5 logical array
1 1 1 1 0
find(b&(~a))
ans = 3

Antworten (2)

Image Analyst
Image Analyst am 6 Sep. 2023
That code has nothing to do with your subject line. You want
logicalIndexes = a == 1
% or
linearIndexes = find(a == 1)
Same for b or any other variable.
  5 Kommentare
pipor
pipor am 6 Sep. 2023
a=[0.3 1 0 3 9]
a = 1×5
0.3000 1.0000 0 3.0000 9.0000
n=6
n = 6
b=a<n
b = 1×5 logical array
1 1 1 1 0
a>0
ans = 1×5 logical array
1 1 0 1 1
b
b = 1×5 logical array
1 1 1 1 0
find((a==0)&(~b==0))
ans = 3
Walter Roberson
Walter Roberson am 6 Sep. 2023
a=[0.3 1 0 3 9]
a = 1×5
0.3000 1.0000 0 3.0000 9.0000
n=6
n = 6
b=a<n
b = 1×5 logical array
1 1 1 1 0
a>0
ans = 1×5 logical array
1 1 0 1 1
b
b = 1×5 logical array
1 1 1 1 0
find((a==0)&(~(b==0)))
ans = 3
but with b already being logical, b==0 is the same as ~b, and ~ of that is ~~b which for logical would be the same as b

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 6 Sep. 2023
You asked : "(i want to find idx element that change from 0 to 1 )"
So do this:
a = [5, 0, 1, 9, 0, 1];
index = strfind(a, [0, 1]) % Look for where [0, 1] occurs in the vector.
index = 1×2
2 5
The index is at the start, that is, where the zeros are.
  5 Kommentare
pipor
pipor am 6 Sep. 2023
excuse me a last question:
you use: (b == 1)) but b is logical
why you don't use (b) ..is the same?
Image Analyst
Image Analyst am 6 Sep. 2023
(b == 1) will be logical because it's comparing the number to 1. b can be any data type, like double or integer or logical. The result will be true or false values, or 1 and 0 if you convert them to numbers, for example to multiply element-by-element by another numerical vector.
If b is logical than (b) is logical (already). If b is a double vector like [1,2,44,66] then b is not logical -- not true or false values.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by