 |
| |
| Asunto: | Generar matriz de seguimiento de bucle anidado for |
| Autor: | esm (8 intervenciones) |
| Fecha: | 01/07/2012 12:52:03 |
Bien, dispongo de una matriz de 510 filas y 500 columnas a la que he denominado "cotas". Esta matriz de cotas se obtienen para un valor de X y un valor de Y que oscila en intervalos de 100 uds. Una fila representa las variaciones de X manteniendo constante la Y y en consecuencia, una columna representa una variación de Y para una X constante.
Lo que quiero determinar, conociendo los valores iniciales de X0 e Y0 es una matriz a la que le llamo "coordenadas" la cual dispone de cada punto de coordenadas (510*500) filas y 3 columnas, donde se representa el valor de X, Y y Z para cada punto.
El código desarrollado anteriormente hace lo siguiente:
para la iteración i=1 determina el valor de Y en función del valor de Y0 (Es decir, empezamos la iteración en la fila 1 donde Y se mantiene constante). A continuación entramos en el segundo bucle for y calculamos los valores de X y de Z para cada iteración j. Por tanto:
Para i=1 se obtiene y=3067000. Entra en el segundo bucle y determina para j=1 (dado que i=cte=1) el valor de X, siendo X=416000 y Z=al valor existente en la fila 1 y columna 1 del fichero de entrada "cotas". Esta iteración se repite desde j=1:500 y aquí es donde aparece el problema. En estos momentos quiero almacenar en una matriz "coordenadas" los 500 valores de X, Y y Z para i=1 y realizar este proceso hasta i=510. De esta forma, por cada i obtenemos 500 valores de X, Y y Z que quiero almacenar en una matriz. Para esto, terminado el segundo bucle for he aplicado la sigiuente ecuación:
coordendas(i)=[x(j) yy(j) z(j)];
Sin embargo, esto me plantea problemas dado que el matlab reconoce exclusivamente un valor para i de j, mientars que yo tengo 500 valores de j para i=1. Me gustaría me pudiesen ayudar a construir esta matriz de forma que me sea capaz de almacenar los 500 valores en cada iteración, por lo que, como se dijo anteriormente, obtendré (500*510) filas (500 valores para x=cte y 510 valores para y=cte)