Programación Específica > Matlab

 Recorrer Matrices

(1/1)

javi84:
Al recorrer  matrices  tengo que hacer algo mal porque me da error, os pongo mi ejemplo:


EN51=[-67 -67.5 -68 -68.5    -69 -69.5 -69.75 -70 -70.5   -71 -71.5   -72];

EN41=[-54   -54.875   -55.2 -55.75   -56.625   -57.5 -57.875          -58.375 -58.8   -59.25   -60.125   -61];

A13=[0   0.7   1.4   2.1   2.8   3.5   4.2   4.9   5.6   6.3   7]

A23=[5   6   7   8   9   10   11   12   13   14   15]


 bueno A13 y A14 tienen 11 elementos, EN51 y EN41 tiene 12 elementos


 for i=1:11
        if ((A13(i)<=elevacionA)&&(A23(i)>elevacionA))
            for j=1:12
             if ((EN51(j)<=azimutA)&&(EN41(j)>azimutA))
                 CA9=CA9+1
             else
            end
            end
        else
        end
    end

pues solo me recorre el primer for dos veces y despues me da este error:

-->Index exceeds matrix dimensions.


Espero q me podeis ayudar.
Gracias

fa61an:
Si esta extraño probe tu código y a mi no me bota ningún error,  lo unico que veo es que los else no son necesarios o menos que tengas pensado hacer algo ahi, pero de todas maneras con los else funciona perfecto y nunca me salio el error que mencionas



--- Código: Text ---clear allclcEN51=[-67 -67.5 -68 -68.5 -69 -69.5 -69.75 -70 -70.5 -71 -71.5 -72];EN41=[-54 -54.875 -55.2 -55.75 -56.625 -57.5 -57.875 -58.375 -58.8 -59.25 -60.125 -61];A13=[0 0.7 1.4 2.1 2.8 3.5 4.2 4.9 5.6 6.3 7];A23=[5 6 7 8 9 10 11 12 13 14 15];elevacionA=5;azimutA=-65;CA9=1;for i=1:11    z=i         % la use para minitorea cuantas veces se ejecuta el for    if ((A13(i)&#60;=elevacionA)&&(A23(i)&#62;elevacionA))        disp('Se cumplio el primer If=')        for j=1:12            w=j  % la use para minitorea cuantas veces se ejecuta el for            if ((EN51(j)&#60;=azimutA)&&(EN41(j)&#62;azimutA))            disp('Se cumplio el segundo If=')            CA9=CA9+1;            end        end    endend 
la variables z y w las use para mirar cada ejecucion como ocurrida pero si te fijas a la hora del té no son necesarias por que el Workspace te dice los valores de i y j, bueno el codigo esta revisa tu Matlab.....

javi84:
Gracias. Tengo instalado el matlab 6.5 y hasta ahora me ha ido siempre bien, sabes que puede pasar? Lo instalo de nuevo? Q puedo hacer?

allisap:
mira... yo tengo el 7 y probe tu codigo y no da ningun mensaje de error

tal vez el problema esta en los valores iniciales de tus variables elevacionA y azimutA

Navegación

[0] Índice de Mensajes

Ir a la versión completa