/ / Conversión de un bucle 'for' con un incremento de 25 de C a MATLAB - c, matlab, for-loop

Conversión de un bucle 'for' con un incremento de 25 de C a MATLAB - c, matlab, for-loop

tengo un for bucle escrito en C:

for (int i = 0; i < 1000; i+=25)

¿Cómo puedo convertirlo a MATLAB?

Respuestas

6 para la respuesta № 1

los for lazo

for (int i = 0; i <= 1000; i+=25)

Se puede convertir a MATLAB for loop de esta manera:

>> for i = [0:25:1000]
# Code
end

10 para la respuesta № 2

El matlab para sintaxis de bucle es

for i = values
program statements
:
end

dónde values es uno de

  • start:end
  • start:step:end, o
  • Una matriz de valores.

La forma start:end asume un paso de 1, mientras que quieres un paso (o incremento) de 25, así que usa la segunda forma. De tu pregunta, for(int i = 0; i < 1000; i+=25) genera una lista de los números 0 25 50 ... 950 975, es decir, no incluye 1000 (Observe la i < 1000; en el for bucle), así que no podemos "t usar end=1000 en sintaxis de MATLAB. En lugar de usar end = 1000-25 = 975:

for i = 0:25:975
program statements
:
end

dará los mismos valores de i como el equivalente de C.

Nota: vea mi comentario sobre la respuesta de Mithun Sasidharan. Su respuesta arroja diferentes números para la C y MATLAB para los bucles (y parece que ha abandonado la for de su respuesta MATLAB). Su respuesta da 0 25 50 ... 950 975 para el bucle C y 0 25 50 ... 950 975 1000 por su código MATLAB.

Editar: La respuesta de Aashish Thite plantea un punto importante sobre los bucles y la indexación de matrices que difiere entre C y MATLAB.


2 para la respuesta № 3

Si va a utilizar "i" como un índice para escanear a través de una matriz, for i=0:25:1000 no trabajará. El índice del primer elemento en una matriz de matlab es 1. Por lo tanto, use for i=1:25:1000