max value in each row with its index
    18 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
hi , i have the below matrix , and i want to find the maximun value with its location(index)at each row w, so after finding the maximum value of each row then i will find  maximum of maximums  of these values and save it in another matirx with the same location(index) and all other values are zeros
inputmatrix=    8.0000         0    7.3398         0    8.0000
                1.6635    0.7103    3.2000    3.2000    3.2000
                3.2953    3.2000    3.2000    3.2000    3.2000
               16.0000   16.0000   16.0000   10.8963    7.6226
                8.2107    8.0000         0    5.3333    5.3333
                     0    3.2000    1.1829    3.2000    3.2000
                8.0000    4.9461         0   14.2047    8.0000
                1.4528   16.0000   16.0000   16.0000    3.3661
                8.0000    8.0000    4.0000    4.0000    4.0000
                     0    2.5510    3.0116    2.6667    2.6667
0 comentarios
Respuestas (2)
  Davide Masiello
      
 el 7 de Jun. de 2022
        
      Editada: Davide Masiello
      
 el 7 de Jun. de 2022
  
      inputmatrix=    [8.0000         0    7.3398         0    8.0000;...
                1.6635    0.7103    3.2000    3.2000    3.2000;...
                3.2953    3.2000    3.2000    3.2000    3.2000;...
               16.0000   16.0000   16.0000   10.8963    7.6226;...
                8.2107    8.0000         0    5.3333    5.3333;...
                     0    3.2000    1.1829    3.2000    3.2000;...
                8.0000    4.9461         0   14.2047    8.0000;...
                1.4528   16.0000   16.0000   16.0000    3.3661;...
                8.0000    8.0000    4.0000    4.0000    4.0000;...
                     0    2.5510    3.0116    2.6667    2.6667];
To find the maximum of each row and their indexes
[row_max,col_idx] = max(inputmatrix,[],2)
I am not sure what you wanna do in the next step though.
4 comentarios
  Jan
      
      
 el 7 de Jun. de 2022
				index = sub2ind(size(inputmatrix), col_idx.', 1:5);
inputmatrix(index)  % same values as row_max
  Steven Lord
    
      
 el 7 de Jun. de 2022
        Do you actually need or want the locations of the maximum element in each row or is that just a temporary step towards your ultimate goal of identifying the largest value in the whole matrix? If the latter, consider an alternate approach. Let's take some sample data.
A = randi([-10 10], 5)
Determine the maximum value in the array (stored as value) and its linear index (stored as location.) Using the 'linear' option requires release R2019a or later.
[value, location] = max(A, [], 'all', 'linear')
Create an all zero array the same size as A.
B = zeros(size(A));
Set the element in B corresponding to the location of the maximum value in A to that maximum value.
B(location) = value
1 comentario
Ver también
Categorías
				Más información sobre Matrices and Arrays 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!



