How to use Find (or any other function) to create an Array
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lucinda Nott
el 15 de Nov. de 2020
Comentada: Lucinda Nott
el 17 de Nov. de 2020
Hi Everyone,
I have an array, S that appears as so:
And I want to Find the last place where a 1 occured. However, I essentially want to find the last place for each column (I am unsure of how to describe this)
I want my find to be as so:
Intervals = [1 1 1 1 1
3 2
4 ]
With using the max function I would like to create the array:
Max = [4 1 1 1 2]
The rows represent days and columns represent the replication - so essential I want to find the last day the replication achieved a 1.
Any help would be greatly appreciated even a push in the right direction :)
0 comentarios
Respuesta aceptada
Ameer Hamza
el 15 de Nov. de 2020
Editada: Ameer Hamza
el 15 de Nov. de 2020
Try this
S = [
1 1 1 1 1
0 0 0 0 1
1 0 0 0 0
1 0 0 0 0
0 0 0 0 0
0 0 0 0 0];
[~, idx] = max(flipud(S));
idx = size(S,1)-idx+1;
Result
>> idx
idx =
4 1 1 1 2
0 comentarios
Más respuestas (1)
Alan Stevens
el 15 de Nov. de 2020
Here's another possible way
r = repmat((1:9)',1,5); max(r.*S_dash)
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!