Ejercicio 5a

Re: Ejercicio 5a

de Eduardo Fernandez -
Número de respuestas: 0
Hola,
Creo que el único caso que importa es cuando
f(1)~=fil && c(1)~=col                       {1}
por qué? porque si se cumple esa expresión entonces significa que el primer elemento de la matriz no esta ni en la fila fil ni en la columna col, y por tanto permanece en la matriz.

Una vez que sabemos que el 1er elemento permanece en la matriz, lo que hay que averiguar es si su número de fila y/o su número de columna reducen en 1 su valor, o si permanecen igual. Para eso se realizan los dos if del final chequeando ese tema.

Pero , si la expresión {1} es falsa, entonces significa que alguna de las siguientes 3 expresiones es verdadera:
f(1)~=fil && c(1)==col % el 1er elemento pertenece a la columna col
f(1)==fil && c(1)~=col % el 1er elemento pertenece a la fila fil
f(1)==fil && c(1)==col % el 1er elemento pertenece a la fila fil y a la columna col

Pero no hace falta preguntar por esas expresiones, porque sea cual sea que se cumpla, siempre el resultado es el mismo: se quita el 1er elemento de la matriz. Entonces el resultado final es: 

[As,Ai,Aj] = TSacarFilCol(s(2:Ls),f(2:Ls),c(2:Ls),fil,col);

y no hay necesidad poner un elseif ni un else para hacer algo más. Ya así como está, es el resultado buscado.

Espero que con esto te ayude a entender.
Cualquier duda, mandá mensaje.

Eduardo