Filter löschen
Filter löschen

reading an array

1 Ansicht (letzte 30 Tage)
Sayanta
Sayanta am 24 Mai 2012
Beantwortet: Patel Keyur am 7 Jan. 2022
Hello All, I Have code below. I want to create an array with elements [ 5, 10, 15, 20,25, 30, 35, 40, 45, 50, 55, 60, 65, 75, 80, 85, 90, 95, 100] and I want replace if statement if (stateCount(n)> 5 && stateCount(n)<= 10) with value from an array 5 and 10. How can I do that. Any tips will gladly welcome
stateHit = zeros(length(stateCount),20);
for n = 1:length(stateCount)
if (stateCount(n)<= 5)
stateHit(n,1) = 1;
else
if (stateCount(n)> 5 && stateCount(n)<= 10)
stateHit(n,2) = 1;
else
if (stateCount(n)>10 && stateCount(n)<= 15)
stateHit(n,3) = 1;
else
if (stateCount(n)> 15 && stateCount(n)<= 20)
stateHit(n,4) = 1;
else
if (stateCount(n)> 20 && stateCount(n)<= 25)
stateHit(n,5) = 1;
else
if (stateCount(n)> 25 && stateCount(n)<= 30)
stateHit(n,6) = 1;
end
end
end
end
end
end
end
Many thanks in advance
SM

Antworten (4)

Walter Roberson
Walter Roberson am 25 Mai 2012
YourDividingArray = 5:5:100;
[bincounts, HistcIndex] = histc(StateCount, [-inf YourDividingArray(2:end)]);
StateHit( sub2ind(size(StateHit), HistcIndex, 1:size(StateHit,2)) ) = 1;
Or if you prefer,
HistcIndex = max(1, floor(StateCount / 5));
StateHit( sub2ind(size(StateHit), HistcIndex, 1:size(StateHit,2)) ) = 1;

Sayanta
Sayanta am 25 Mai 2012
Hi Walter,
Thanks for your answer. I couldn't understand what your code will do, could you please explain, How can I implement it my code. Sorry I'm have elementary level in matlab
Thanks in advance
Sm

Sayanta
Sayanta am 25 Mai 2012
Hi Walter, I use code like that but I have error
??? Undefined function or variable 'StateHit'.
Error in ==> short_code_test at 4 StateHit( sub2ind(size(StateHit), HistcIndex, 1:size(StateHit,2)) ) = 1;
Here is the code I try
StateCount = value; HistcIndex = max(1, floor(StateCount / 5)); StateHit( sub2ind(size(StateHit), HistcIndex, 1:size(StateHit,2)) ) = 1; disp(StateHit);
Thanks for help in advance
SM
  1 Kommentar
Walter Roberson
Walter Roberson am 25 Mai 2012
Typo on my part. My StateHit should be stateHit to be consistent with your code. I assume here your line
stateHit = zeros(length(stateCount),20);

Melden Sie sich an, um zu kommentieren.


Patel Keyur
Patel Keyur am 7 Jan. 2022
How to read array in matlab and this array value store in any number device?

Community Treasure Hunt

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

Start Hunting!

Translated by