changing values in matrix to numbers from particular range

13 Ansichten (letzte 30 Tage)
hi, I have matrix X =[1,5,10,14,25;22,30,28,4,2]. I would like to change values of this matrix i this way:
if value is from range: 1:5 change it to 1, 6:10 change it to 2, 11:15 change it to 3, 16:20 change it to 4, 21:25 change it to 5, 26:30 change it to 6.
In result i would like to get matrix [1,1,2,3,5; 5,6,6,1,1].
I try something like this: X(X(1:5)==1, etc... but this does not work well.
Do you have aby ideas?
Thanku you in advance.

Akzeptierte Antwort

Voss
Voss am 21 Dez. 2021
X = [1,5,10,14,25;22,30,28,4,2];
display(X);
X = 2×5
1 5 10 14 25 22 30 28 4 2
X(X >= 1 & X <= 5) = 1;
X(X >= 6 & X <= 10) = 2;
% and so on for the rest of the ranges
display(X);
X = 2×5
1 1 2 14 25 22 30 28 1 1

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements 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!

Translated by