Selecting a single value with max function - Subscripted assignment dimension mismatch.
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hello, I am having the error message ??? Subscripted assignment dimension mismatch, an I believe that it is caused because when I use the max function, it finds two maximum values and tries to return both of them. Is there a way to return one value? The part of code that I get the error is shown below: Line No 5.
                  A = rpm((i-19):(i-10),1);
                  rpmGS(c,1) = max(A);
                  num = max(A);
                  row=find(A==num)+(j-2)*10+3;
                   %ratioGS(c,1) = ratio(row,1);% This is the error line.
                  velocityGS(c,1) = a(row-3,6);
                  c=c+1;
0 comentarios
Respuesta aceptada
  Walter Roberson
      
      
 el 25 de Jun. de 2012
        The max() is only returning one value. The find(A==num) is returning 2. If you only want one returned you can use find(A==num, 1). Or, as indicated by "grapevine" you can use the two-output version of max() to return the location instead of doing the find()
[num, indexMax] = max(A);
row = indexMax + (j-2)*10+3;
0 comentarios
Más respuestas (1)
  grapevine
      
 el 25 de Jun. de 2012
        I'm not sure about that Check this code
    A=[2, 2, 3, 3]
    [num, indexMax] = max(A)
    size(num)
  length(num)
I think the error is elsewhere, but you didn't give us enough information to help you
0 comentarios
Ver también
Categorías
				Más información sobre Annotations 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!