Você está na página 1de 6

Anlisis Numrico

Men MiniActuarn1C
Guadalupe Prez Lpez N L 8

Planteamiento del problema: El problema planteado es mostrar un men que permita escoger una de varias opciones. Datos: Para que te redirija a un submen, se requiere que el usuario inserte una opcin vlida, en letra o numero dependiendo del men/submen que aparezca en terminal. Resultado: Aparecer en terminal el men deseado. Pasos a seguir: Paso 1. Muestre un men con 4 opciones: A) Algebra Lineal B) Ecuaciones No Lineales C) Clculo Integral D) Salir. Paso 2. Pida por teclado la opcin deseada. Paso 3. Cuando la opcin sea vlida, ejecute dicha opcin. De otra manera avisar al usuario que la opcin no es vlida. Paso 4. Redirigir al usuario a un submen, repetir el paso 2 y 3. Paso 5. Ejecutar la operacin deseada siempre que el usuario no seleccione la opcin 4 (Salir) del men.

Anlisis Numrico
Men MiniActuarn1C
Guadalupe Prez Lpez N L 8

Codificacin del problema:


function menutarea() opcion=input('En que tema estas interesado\n [A] Algebra Lineal \n [B] Ecuaciones No Lineales \n [C] Calculo Integral\n [D] Salir\n '); opcion=upper(opcion); switch opcion case 'A' menuAlgebraLineal(); case 'B' menuEcuacionesNoLineales(); case 'C' menuCalculoIntegral(); case 'D' disp('Adios!') return otherwise disp('opcion no valida') end end function menuAlgebraLineal() opcion=input ('En que tema estas interesado\n [a] Matrices \n [b] Sistemas de Ecuaciones \n [c] Regresar \n'); opcion=lower(opcion); switch opcion case 'a' menuMatrices(); case 'b' menuSistemasEcuaciones(); case 'c' menutarea(); otherwise disp('opcion no valida') end end function menuMatrices() opcion=input('Que operacion deseas realizar? \n [a] Sumar \n [b] Restar \n [c] Rango \n [d] Adjunta \n [e] Regresar al menu anterior \n'); opcion=lower(opcion); switch opcion case 'a' disp('SUMA') case 'b' disp('RESTA') case 'c' disp('RANGO') case 'd' dispcion ('ADJUNTAR') case 'e' menuAlgebraLineal(); otherwise disp('opcion no valida') end

Anlisis Numrico
Men MiniActuarn1C
Guadalupe Prez Lpez N L 8
end function menuSistemasEcuaciones() opcion=input('Que mtodo deseas usar? \n [a] Directos \n [b] Factorizacin LU \n [c] Iteractivos \n [e] Regresar al menu anterior \n'); opcion=lower(opcion); switch opcion case 'a' Directos(); case 'b' FactorizacionLU(); case 'c' Iteractivos(); case 'd' menuAlgebreLineal(); otherwise disp('opcion no valida') end end function Directos() opcion=input('Elige un mtodo \n [1] Gauss \n [2] Gauss con pivoteo \n [3] Regresar al menu anterior \n'); switch opcion case 1 disp('Gauss') case 2 disp('Gauss con pivoteo') case 3 menuAlgebraLineal(); otherwise disp('opcion no valida') end end function FactorizacionLU() opcion=input('Elige un mtodo \n [1] Crout \n [2] Doolitle \n [3] Cholesky \n [4] Regresar al menu anterior \n'); switch opcion case 1 disp('Crout') case 2 disp('Doolitle') case 3 disp('Cholesky') case 4 menuAlgebraLineal(); otherwise disp('opcion no valida') end end function Iterativos() opcion=input('Elige un mtodo \n [1] Jacobi \n [2] Gauss-Jordan \n [3] Regresar al menu anterior \n'); switch opcion

Anlisis Numrico
Men MiniActuarn1C
Guadalupe Prez Lpez N L 8
case 1 disp('Jacobi') case 2 disp('Gauss-Jordan') case 3 menuAlgebraLineal(); otherwise disp('opcion no valida') end end

function menuEcuacionesNoLineales() opcion=input('Elige que metodo \n a) Un punto \n b) Dos puntos \n c) Tres puntos \n d) Regresar al menu anterior \n'); opcion=lower(opcion); switch opcion case 'a' disp('Un Punto') UnPunto(); case 'b' disp('Dos Puntos') DosPuntos(); case 'c' disp('Tres puntos') TresPuntos(); case 'd' menutarea(); otherwise disp('opcion no valida') end end function UnPunto() opcion=input('Elige un mtodo \n [a] Newton-Raphson \n [b] Punto Fijo \n [c] Regresar al men anteriro \n'); opcion=lower(opcion); switch opcion case 'a' disp('Newton-Raphson') case 'b' disp('Punto Fijo') case 'c' menuEcuacionesNoLineales(); otherwise disp('opcion no valida') end end function DosPuntos() opcion=input('Elige un mtodo \n [a] Biseccion \n [b] Secante \n [c] Regresar al men anteriro \n'); opcion=lower(opcion); switch opcion case 'a' disp('Biseccion')

Anlisis Numrico
Men MiniActuarn1C
Guadalupe Prez Lpez N L 8
case 'b' disp('Secante') case 'c' menuEcuacionesNoLineales(); otherwise disp('opcion no valida') end end function TresPuntos() opcion=input('Elige un mtodo \n [a] Muller \n opcion=lower(opcion); switch opcion case 'a' disp('Muller') case 'b' menuEcuacionesNoLineales(); otherwise disp('opcion no valida') end end

[b] Regresar al men anterior \n');

function menuCalculoIntegral() opcion=input('Que metodo quieres utilizar? \n [a] Newton-Cottes Compuesto \n Cuadratura de Gauss \n [c]Regresar al menu anterior \n'); opcion=lower(opcion); switch(opcion) case 'a' newton(); case 'b' gauss(); case 'c' menutarea(); otherwise disp('opcion no valida') end end

[b]

function newton() opcion=input('Elige un mtodo \n [a] Trapezoidal \n [b] Simpson 1/3 \n [c] Simpson 3/8 \n [d] Grecia \n [e] Pablo \n [f] Diana \n [g] Regresar al menu anterior \n'); opcion=lower(opcion); switch opcion case 'a' disp('Trapezoidal') case 'b' disp('Simpson 1/3') case 'c' disp('Simpson 3/8') case 'd' disp('Grecia') case 'e' disp('Pablo') case 'f' disp('Diana') case 'g'

Anlisis Numrico
Men MiniActuarn1C
Guadalupe Prez Lpez N L 8
menuCalculoIntegral(); otherwise disp('opcion no valida') end end function gauss() opcion=input('Elige una opcion \n [a] Cuadratura de Gauss \n [b] Regresar al menu anterior \n'); opcion=lower(opcion); switch opcion case 'a' disp('Cuadratura de Gauss') case 'b' menuCalculoIntegral(); otherwise disp('opcion no valida') end end