who does logical works
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Faisal Al-Wazir
am 19 Mär. 2022
Kommentiert: Star Strider
am 19 Mär. 2022
>> x= [ 2 3 4 8 10 0 -2]
x =
2 3 4 8 10 0 -2
>> x(mod(x,2)==0)=5*x(mod(x,2)==0)
x =
10 3 20 40 50 0 -10
can someone explain x(mod(x,2)==0)=5*x(mod(x,2)==0)
0 Kommentare
Akzeptierte Antwort
Star Strider
am 19 Mär. 2022
The assignment:
x(mod(x,2)==0)=5*x(mod(x,2)==0)
finds numbers tthat are evenly divisible by 2 (so the remainder after division equals 0) and multiplies them by 5.
So:
x= [ 2 3 4 8 10 0 -2]
Lv = mod(x,2) == 0 % Select Elements Evenly Divisible By Zero
x(Lv) = 5*x(Lv) % Multiply Them Bu 5
.
3 Kommentare
Weitere Antworten (2)
John D'Errico
am 19 Mär. 2022
When something is too big or complicated, TAKE IT APART. TRY IT.
x= [ 2 3 4 8 10 0 -2]
So x is a vector of integers.
What does mod do?
mod(x,2)==0
This takes the modulus of each number, modulo 2. So it returns 0 for even numbers, 1 for odd numbers. What is on the right hand side of the equality? 5*x(mod(x,2)==0)
So what does x(a binary vector as we just created do? TRY IT!!!!!!!
This is a mask operation. It extracts the elements that correspond to 1. So essentially, it extracted oNLY the even elements of x.
x(mod(x,2)==0)
Then what did it do? It multiplied them by 5.
5*x(mod(x,2)==0)
Now what does the equality do there? It tells us to stuff those elements BACK into those same corresponding elements in x.
x(mod(x,2)==0)=5*x(mod(x,2)==0)
So put it all together. Take each even element of x. Multiply it by 5. Then stuff it back in place.
If something is too complicated, too big for you to understand. then take it apart. Look at only the small pieces. Then put it back together.
3 Kommentare
Torsten
am 19 Mär. 2022
Can't you take it from the answer given ?
The elements of the x vector that are divisible by 2 and by 4 are set to 100, the other elements remain unchanged.
Since each number that is divisible by 4 is also divisible by 2, this is the same as
x(mod(x,4)==0) = 100
Torsten
am 19 Mär. 2022
The even elements of the x-vector are multiplied by a factor of 5, the odd elements remain unchanged.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!