vectores teclado resultados posicion por los ingresar guardar for extraer elementos datos como ciclo arreglo matlab loops if-statement vector save

matlab - teclado - Guardar datos de bucle en vector



posicion de un vector en matlab (2)

Esta es una respuesta relativamente simple, necesita crear una matriz para almacenar sus datos. Simplemente agrego el value = zeros(1,length(xx)) línea value = zeros(1,length(xx)) . Esto crea una matriz pre asignada de 0 que luego se sobrescribe en el ciclo ( value(jj) = ## ) para guardar los valores.

x=[1 2 3 4 5]; y=[1 2 3 4 5]; xx=[1.2 1.6 1.8 2.4 2.8 3.4 4.9 2.6]; yy=[1.2 1.6 1.8 2.5 2.8 3.3 4.9 2.5]; plot(x,y,''.g'',xx,yy,''*b'') value = zeros(1,length(xx)); for jj=1:length(xx) if xx(jj)<x(1) value(jj)=0; elseif xx(jj) > x(1) && xx(jj) < x(2) value(jj)=1; elseif xx(jj) > x(2) && xx(jj) < x(3) value(jj)=2; elseif xx(jj) > x(3) && xx(jj) < x(4) value(jj)=3; elseif xx(jj) > x(4) && xx(jj) < x(5) value(jj)=4; elseif xx(jj) > x(5) && xx(jj) < x(6) value(jj)=5; else value(jj)= NaN; end end

cuando ejecuto mi script, se muestran todos los valores, pero quiero todos los valores en vector, entonces, ¿qué puedo hacer?

x=[1 2 3 4 5]; y=[1 2 3 4 5]; xx=[1.2 1.6 1.8 2.4 2.8 3.4 4.9 2.6]; yy=[1.2 1.6 1.8 2.5 2.8 3.3 4.9 2.5]; plot(x,y,''.g'',xx,yy,''*b'') for j=1:length(xx) if xx(j)<x(1) value=0 elseif xx(j) >x(1) & xx(j)<x(2) value=1 elseif xx(j) >x(2) & xx(j)<x(3) value=2 elseif xx(j) >x(3) & xx(j)<x(4) value=3 elseif xx(j) >x(4) & xx(j)<x(5) value=4 elseif xx(j) >x(5) & xx(j)<x(6) value=5 else value= NaN end end


Tendrá que crear una matriz antes del ciclo for, inicializado con ceros como este:

value = zeros(1,length(xx));

Este vector se actualizará dentro del ciclo. Inicializarlo con ceros garantizará que no necesitará asignación de memoria para cada iteración. Su tamaño es el mismo número de iteraciones del ciclo, ya que este es el número final de valores que utiliza.

Y luego, después de cada valor dentro del ciclo, escriba a (j). Esto guardará el valor actual en la posición actual en el vector de valor en cada iteración;

Después del bucle, escriba el valor e imprimirá el valor como un vector.