Evaluación Final POA

download Evaluación Final POA

of 28

Transcript of Evaluación Final POA

  • 8/16/2019 Evaluación Final POA

    1/28

     

    EVALUACIÓN FINAL POA

    Alumnos:

    CARLOS ALBERTO HOYA SANJUANJOSUE YARCE

    FRANK FERLEY GARZON

    Curso:Software para IngenieríaGrupo No. 203036_25

    Tutor:JUAN MONROY

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAEscuela de ciencias básicas Tecnología e Ingeniería

    Ingeniería de telecomunicacionesBarrancabermeja

    2016

  • 8/16/2019 Evaluación Final POA

    2/28

     

    Contenido

    INTRODUCCIÓN .......................................................................................................................... 3 

    1. 

    Descripción del problema ........................................................................................................ 4 

    2.  Descripción de la solución y criterios empleados para su selección ....................................... 5 

    2.1.  ALGORITMO DE LA SOLUCION DEL PROBLEMA. ................................................... 6 

    2.2.  CODIGO FUENTE EN MATLAB Y GUIDE. ................................................................ 10 

    3.  Explicación de la validación de la solución a partir del banco de datos seleccionados ........ 16 

    4.  Con un ejemplo explicar el uso del aplicativo ....................................................................... 23 

    5.  Recomendaciones y sugerencias ........................................................................................... 24 

    6.  Posibilidad de aplicación en otro espacio o situación ........................................................... 25 

    Conclusiones ................................................................................................................................. 27 

    BIBLIOGRAFIA .......................................................................................................................... 28 

  • 8/16/2019 Evaluación Final POA

    3/28

     

    INTRODUCCIÓN

    MATLAB es un lenguaje de alto desempeño diseñado para realizar cálculos técnicos. MATLABintegra el cálculo, la visualización y la programación en un ambiente fácil de utilizar donde los problemas y las soluciones se expresan en una notación matemática. MATLAB es un sistemainteractivo cuyo elemento básico de datos es el arreglo que no requiere de dimensionamiento previo. El nombre abreviado de MATLAB es “MATrix LABoratory”, es un programa pararealizar cálculos numéricos con vectores y matrices.

    Como caso particular puede también trabajar con números escalares, tanto reales comocomplejos. Una de las capacidades más atractivas es la de realizar una amplia variedad degráficos en dos y tres dimensiones. MATLAB tiene también un lenguaje de programación propio(lenguaje M). MATLAB se utiliza ampliamente en:

    • Cálculos numéricos• Desarrollo de algoritmos

    • Modelado, simulación y prueba de prototipos

    • Análisis de datos, exploración y visualización

    • Graficación de datos con fines científicos o de ingeniería• Desarrollo de aplicaciones que requieran de una interfaz gráfica de usuario (GUI, Graphical

    User Interface).

    En el ámbito académico y de investigación, es la herramienta estándar para los cursosintroductorios y avanzados de matemáticas, ingeniería e investigación. En la industria MATLABes la herramienta usada para el análisis, investigación y desarrollo de nuevos productostecnológicos. La ventaja principal de MATLAB es el uso de familias de comandos de áreasespecíficas llamadas toolboxes. Los toolboxes son grupos de comandos de MATLAB (archivosM) que extienden el ambiente de MATLAB para resolver problemas de áreas específicas de laciencia e ingeniería. Por ejemplo, existen toolboxes para las áreas de Procesamiento Digital deSeñales, Sistemas de Control, Redes Neuronales, Lógica Difusa, Wavelets, etc..  

  • 8/16/2019 Evaluación Final POA

    4/28

     

    1.  Descripción del problema

    En una industria manufacturera, disponen de una máquina que realiza un proceso en tres fases,cada una de ellas se desarrolla en un tiempo calculado por un instrumento anexo que devuelvetres números binario cada uno de 13 bits, dichos números representan el intervalo de tiempo deduración de cada fase (el tiempo mínimo de cada fase no era inferior a 5 segundos).

    Adicionalmente la máquina dispone de un conjunto de leds dispuestos en forma de matriz de 10 por 5, a partir de ellos se identificaba la fase y a través de un código visual se daba unaaproximación del tiempo que restaba para finalizar el proceso (a través de juego de luces que seactualizaba cada segundo).

    En este momento el código de programación que realizaba dicho proceso sufrió un dañoirreparable, por tanto es necesario generar un nuevo código a nivel de prototipo, que responda aestas condiciones, esto para que sea estudiado y viabilizar su aplicación… Los datos de entrada ysalida se deben dar a partir de los recursos del PC, y usando Matlab como lenguaje de programación.

  • 8/16/2019 Evaluación Final POA

    5/28

     

    2.  Descripción de la solución y criterios empleados para su selección

    Se estudió de manera precisa el uso y manejo de las matrices en Matlab. Como una manera de

    controlar la información, almacenamiento y manipulación del bit que nos informan en el

     problema. Según los ejercicios realizados en las prácticas se pudo determinar utilizar estos

     procedimientos para solucionar este problema.

    En la etapa de mostrar el tiempo de cada fase, nos valimos de una matriz de 10 x 5 donde

    mediante ciclos For  se fueron transformando en unos a medida que el tiempo transcurría.

    En cada fase se controló de manera independiente donde se podría introducir el tiempo y otra

    función donde se podría realizar la secuencia de las fases una a una indicando el tiempo restante,e informando cuando el tiempo haya terminado.

    Esto se logró mediante las respectivas funciones que se presentan en Matlab.

  • 8/16/2019 Evaluación Final POA

    6/28

     

    2.1.   ALGORITMO DE LA SOLUCION DEL PROBLEMA.

    Algoritmo para solución propuesta de la matriz de led . Hecho en Matlabcon la interfaz gráfica Guide.

    Inicio = FASESInicio = software propio de Guide.

    Leer Cuadro de texto 1Leer Cuadro de texto 2 Leer Cuadro de texto 3

    Función Botón Uno

    Escribir “ Fase 1 en curso” a = Cuadro de texto 1M= matriz ceros[10,5]b = M

    b(2, 1:3)=1b(2:8,3)=1b(8,:) = 1

    Escribir “ b ” Escribir “ M ” retro = a;

    hacer para i = 1 : a; hacer para  j= 1:5 

    si retro = 0 entoncesSalir de ciclo 

    Fin si retro = retro -1

    M(i,j) = retro

    Escribir = “ Cuadro de texto 5 = (M)” Esperar 1 segundo M(i,j) = 1; Escribir = “Cuadro de texto 5 =M” Esperar 1 segundo fin para 

    Fin para

    Fin botón Uno 

    Función= Botón DosEscribir “ Fase 2 en curso” 

    c = Cuadro de texto 2 M = matriz ceros(10,5) d= M; 

    d(2,:) = (1) d(2:6,5) = (1); 

  • 8/16/2019 Evaluación Final POA

    7/28

     

    d(6,:) = (1); d(7:9,1) = (1); d(9,:) = (1) Escribir =” Cuadro de texto 5, d” Esperar 5 segundosretro2 = c; 

    Hacer para  i = 1 a cHacer para j= 1 a 5 

    si retro2 = 0 entonces Salir del ciclo 

    Fin si retro2 = retro2 -1;M(i,j) = retro2; Escribir “Cuadro de texto 5,M “ Esperar 1 segundo M(i,j) = 1 Escribir “Cuadro de texto 5, M ” Esperar 1 segundofin para 

    fin parafin Botón Dos 

    Función Botón TresEscribir “ Fase 3 en curso” 

    e = Cuadro de texto 3 M = Matriz ceros (10,5) f = M; 

    f(2,:) = 1 f(6, :) = 1 f(9 ,:) = 1 f(2:9,5)= 1 

    Escribir “Cuadro de texto 5, f ” Esperar 5 segundos Escribir “Cuadro de texto 5 ,M “ 

    retro3 = e; 

    Hacer para i = 1 a e; Hacer para j= 1 a 5 

    si retro3 = 0 Entonces Salir del ciclo 

    Fin si retro3 = retro3 -1M(i,j) = retro3; Escribir “Cuadro de texto 5 , M “ Esperar 1 segundo M(i,j) = 1; Escribir “Cuadro de texto 5 ,M “ Esperar 1 segundo Fin para 

    Fin para

  • 8/16/2019 Evaluación Final POA

    8/28

     

    Fin Botón Tres

    Función Botón Cuatro

    Hacer para t = 1 a 3

    Elegir caso t ; Caso ‘ 1

    Escribir “ Fase 1 en curso” a = Cuadro de texto 1M= matriz ceros[10,5]b = Mb(2, 1:3)=1b(2:8,3)=1b(8,:) = 1

    Escribir “Cuadro de texto 5 , b ” Escribir “Cuadro de texto 5 , M ” retro = a;

    hacer para i = 1 : a; hacer para  j= 1:5 si retro = 0 entoncesSalir de ciclo 

    Fin si retro = retro -1M(i,j) = retro

    Escribir = “Cuadro de texto 5 = M ” Esperar 1 segundo M(i,j) = 1; Escribir = “Cuadro de texto 5 =M ” Esperar 1 segundo 

    fin para Fin para

    Caso ‘ 2 ‘ 

    Escribir “ Fase 2 en curso” 

    c = Cuadro de texto 3M = matriz ceros(10,5) d= M; 

    d(2,:) = (1) d(2:6,5) = (1); d(6,:) = (1); d(7:9,1) = (1); d(9,:) = (1) Escribir =” Cuadro de texto 5 , d” Esperar 5 segundosretro2 = c; 

    Hacer para  i = 1 a cHacer para j= 1 a 5 

  • 8/16/2019 Evaluación Final POA

    9/28

     

    si retro2 = 0 entonces Salir del ciclo Fin si 

    retro2 = retro2 -1;M(i,j) = retro2; Escribir “Cuadro de texto 5 ,M “ Esperar 1 segundo M(i,j) = 1 Escribir “Cuadro de texto 5 , M ” Esperar 1 segundofin para 

    fin para

    Caso ‘ 3 ‘ Escribir “ Fase 3 en curso” 

    e = Cuadro de texto 3M = Matriz ceros (10,5) f = M; 

    f(2,:) = 1 f(6, :) = 1 f(9 ,:) = 1 f(2:9,5)= 1 

    Escribir “Cuadro de texto 5 , f ” Esperar 5 segundos Escribir “Cuadro de texto 5 ,M “ 

    retro3 = e; 

    Hacer para i = 1 a e; Hacer para j= 1 a 5 si retro3 = 0 Entonces Salir del ciclo Fin si retro3 = retro3 -1M(i,j) = retro3; Escribir “Cuadro de texto 5 , M “ Esperar 1 segundo M(i,j) = 1; Escribir “Cuadro de texto 5 ,M “ Esperar 1 segundo Fin para

    Fin para

    Fin Botón Tres

    Fin elegir CasoFin hacer paraFin Botón CuatroFin Fase

  • 8/16/2019 Evaluación Final POA

    10/28

     

    2.2.  CODIGO FUENTE EN MATLAB Y GUIDE.

    % Diseño y ejecucion del plan de accion % Carlos Alberto Hoya / cod: 14399864 % generaremos tres numeros aleatorios decimales dentro del rango establecido % (13 bit´s = de 1 a 8191seg) para simular la entrada del tiempo de

    % ejecucion de cada una de las fases. %--------------------------------------------------------------------------  

    clc,clear tiempo_fase_1 = 50; t1 = 50; tiempo_fase_2 = 50; t2 = 50; tiempo_fase_3 = 50; t3 = 50; %--------------------------------------------------------------------------  fprintf('\n********************************************************'); fprintf('\n* TIEMPO DE DURACION POR FASE EN SEGUNDOS *'); 

    fprintf('\n********************************************************'); fprintf('\n Tiempo Fase 1= %d',tiempo_fase_1); fprintf('\n Tiempo Fase 2= %d',tiempo_fase_2); fprintf('\n Tiempo Fase 3= %d',tiempo_fase_3); fprintf('\nPresione una tecla para continuar '); pause %--------------------------------------------------------------------------  m=[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 11 1 1;1 1 1 1 1;1 1 1 1 1;]; j=10; h=6; %--------------------------------------------------------------------------  % Creamos un ciclo donde se ejecutara un temporizador regresivo para la % fase 1 de trabajo ,desde el tiempo dado aleatoriamente hasta 1 segundo

    % sera decimal y binario para cumprir por lo requerido en el programa. %--------------------------------------------------------------------------  % Ciclo temporizador binario Fase 1 while t1~=-1 

    clc fprintf('\n********************************************************'); fprintf('\n* TIEMPO DE DURACION POR FASE EN SEGUNDOS *'); fprintf('\n********************************************************'); fprintf('\n\n Tiempo Fase 1= %d',tiempo_fase_1); fprintf('\n Tiempo Fase 2= %d',tiempo_fase_2); fprintf('\n Tiempo Fase 3= %d',tiempo_fase_3); fprintf('\n\n********************************************************' ); fprintf('\n* TEMPORIZADOR FASE 1 *'); 

    fprintf('\n********************************************************'); fprintf('\n\n\n TIEMPO EN SEGUNDOS DECIMALES *'); fprintf('\n\n\n %d',t1); n=t1; cociente=n; resultado=[]; % Ciclo temporizador y conversion a binario Fase 1 while cociente > 0 

    resto=rem(cociente,2); cociente=fix(cociente./2); 

  • 8/16/2019 Evaluación Final POA

    11/28

     

    resultado=[resto resultado]; end; fprintf('\n\n\n TIEMPO EN SEGUNDOS BINARIOS *'); fprintf('\n\n\n'); disp (resultado) t1=t1-1; fprintf('\n********************************************************'); pause(1); 

    % ____________________________________________________________________ porcentaje_de_tiempo=(t1*100)/tiempo_fase_1; 

    if porcentaje_de_tiempo==98|porcentaje_de_tiempo==96|porcentaje_de_tiempo==94|porcentaje_de_tiempo==92|porcentaje_de_tiempo==90|porcentaje_de_tiempo==88|porcentaje_de_tiempo==86|porcentaje_de_tiempo==84|porcentaje_de_tiempo==82|porcentaje_de_tiempo==80|porcentaje_de_tiempo==78|porcentaje_de_tiempo==76|porcentaje_de_tiempo==74|porcentaje_de_tiempo==72|porcentaje_de_tiempo==70|porcentaje_de_tiempo==68|porcentaje_de_tiempo==66|porcentaje_de_tiempo==64|porcentaje_de_tiempo==62|porcentaje_de_tiempo==60|porcentaje_de_tiempo==58|porcentaje_de_tiempo==56|porcentaje_de_tiempo==54|porcentaje_de_tiempo==52|porcentaje_de_ti

    empo==50|porcentaje_de_tiempo==48|porcentaje_de_tiempo==46|porcentaje_de_tiempo==44|porcentaje_de_tiempo==42|porcentaje_de_tiempo==40|porcentaje_de_tiempo==38|porcentaje_de_tiempo==36|porcentaje_de_tiempo==34|porcentaje_de_tiempo==32|porcentaje_de_tiempo==30|porcentaje_de_tiempo==28|porcentaje_de_tiempo==26|porcentaje_de_tiempo==24|porcentaje_de_tiempo==22|porcentaje_de_tiempo==20|porcentaje_de_tiempo==18|porcentaje_de_tiempo==16|porcentaje_de_tiempo==14|porcentaje_de_tiempo==12|porcentaje_de_tiempo==10|porcentaje_de_tiempo==8|porcentaje_de_tiempo==6|porcentaje_de_tiempo==4|porcentaje_de_tiempo==2|porcentaje_de_tiempo==0; 

    % _______________________ h=h-1; for i=h:-1:h 

    if i==1 h=6; end 

    end % _______________________ 

    hold off hold on subplot (3,1,1) m (j,i)= 0; bar (m); % _______________________ 

    if h==6 j=j-1;

     end % _______________________ 

    subplot (3,1,2) subplot (3,1,3) end 

    % _______________________ end 

  • 8/16/2019 Evaluación Final POA

    12/28

     

    %-------------------------------------------------------------------------  m=[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 11 1 1;1 1 1 1 1;1 1 1 1 1]; j=10; h=6; %-------------------------------------------------------------------------  % Creamos un condicional dentro del cual se ejecuta el temporizador de % trabajo para la fase 2 ,este empezara a acorrer siempre y cuando se halla % terminado la fase de trabajo 1 (en decimal y Binario) if t1==-1; 

    % Ciclo temporizador binario Fase 2 while t2~=-1 

    clc fprintf('\n********************************************************' ); fprintf('\n* TIEMPO DE DURACION POR FASE EN SEGUNDOS *'); fprintf('\n********************************************************' ); fprintf('\n\n Tiempo Fase 1= %d',tiempo_fase_1); fprintf('\n Tiempo Fase 2= %d',tiempo_fase_2); fprintf('\n Tiempo Fase 3= %d',tiempo_fase_3); 

    fprintf('\n\n********************************************************' ); fprintf('\n * FASE UNO TERMINADA * '); fprintf('\n ********************************************************'); 

    fprintf('\n\n********************************************************' ); fprintf('\n * TEMPORIZADOR FASE 2 *'); fprintf('\n********************************************************' ); fprintf('\n\n\n TIEMPO EN SEGUNDOS DECIMALES *'); fprintf('\n\n\n %d',t2); n=2; 

    cociente=n; resultado=[]; % Ciclo temporizador y conversion a binario Fase 2 while cociente > 0 

    resto=rem(cociente,2); cociente=fix(cociente./2); resultado=[resto resultado]; 

    end; fprintf('\n\n\n TIEMPO EN SEGUNDOS BINARIOS *'); fprintf('\n\n\n'); disp (resultado) t2=t2-1; pause(1); % ____________________________________________________________________ porcentaje_de_tiempo=(t2*100)/tiempo_fase_2; 

    if 

    porcentaje_de_tiempo==98|porcentaje_de_tiempo==96|porcentaje_de_tiempo==94|porcentaje_de_tiempo==92|porcentaje_de_tiempo==90|porcentaje_de_tiempo==88|porcentaje_de_tiempo==86|porcentaje_de_tiempo==84|porcentaje_de_tiempo==82|porcentaje_de_tiempo==80|porcentaje_de_tiempo==78|porcentaje_de_tiempo==76|porcentaje_de_tiempo==74|porcentaje_de_tiempo==72|porcentaje_de_tiempo==70|porcentaje_de_tiempo==68|porcentaje_de_tiempo==66|porcentaje_de_tiempo==64|porcentaje_de_tiempo==62|porcentaje_de_tiempo==60|porcentaje_de_tiempo==58|porcentaje_de_tiempo==56|porcentaje_de_tiempo==54|porcentaje_de_tiempo==52|porcentaje_de_tiempo==50|porcentaje_de_tiempo==48|porcentaje_de_tiempo==46|porcentaje_de_tiempo==44|porcentaje_de_tiempo==42|porcentaje_de_tiempo==40|porcentaje_de_tiempo

  • 8/16/2019 Evaluación Final POA

    13/28

     

    ==38|porcentaje_de_tiempo==36|porcentaje_de_tiempo==34|porcentaje_de_tiempo==32|porcentaje_de_tiempo==30|porcentaje_de_tiempo==28|porcentaje_de_tiempo==26|porcentaje_de_tiempo==24|porcentaje_de_tiempo==22|porcentaje_de_tiempo==20|porcentaje_de_tiempo==18|porcentaje_de_tiempo==16|porcentaje_de_tiempo==14|porcentaje_de_tiempo==12|porcentaje_de_tiempo==10|porcentaje_de_tiempo==8|porcentaje_de_tiempo==6|porcentaje_de_tiempo==4|porcentaje_de_tiempo==2|porcentaje_de_tiempo==0; 

    % _______________________ h=h-1; for i=h:-1:h 

    if i==1 h=6; 

    end end 

    % _______________________ 

    hold off hold on subplot (3,1,1) subplot (3,1,2) m (j,i)= 0; bar (m); % _______________________ 

    if h==6 j=j-1; 

    end % _______________________ subplot (3,1,3) 

    end 

    % _______________________ end 

    end %--------------------------------------------------------------------------  m=[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 1 1 1 1;1 11 1 1;1 1 1 1 1;1 1 1 1 1]; j=10; h=6; %-------------------------------------------------------------------------  % Creamos un condicional dentro del cual se ejecuta el temporizador de % trabajo para la fase 2 ,este empezara a acorrer siempre y cuando se halla % terminado la fase de trabajo 1 (en decimal y Binario) if t2==-1; 

    % Ciclo temporizador binario Fase 3 

    while t3~=-1 clc fprintf('\n********************************************************' ); fprintf('\n* TIEMPO DE DURACION POR FASE EN SEGUNDOS *'); fprintf('\n********************************************************' ); fprintf('\n\n Tiempo Fase 1= %d',tiempo_fase_1); fprintf('\n Tiempo Fase 2= %d',tiempo_fase_2); fprintf('\n Tiempo Fase 3= %d',tiempo_fase_3); 

    fprintf('\n\n********************************************************' ); 

  • 8/16/2019 Evaluación Final POA

    14/28

     

    fprintf('\n * FASE UNO TERMINADA * '); fprintf('\n ********************************************************'); 

    fprintf('\n\n********************************************************' ); fprintf('\n * FASE DOS TERMINADA * '); fprintf('\n ********************************************************'); 

    fprintf('\n\n********************************************************' ); fprintf('\n * TEMPORIZADOR FASE 3 *'); fprintf('\n********************************************************' ); fprintf('\n\n\n TIEMPO EN SEGUNDOS DECIMALES *'); fprintf('\n\n\n %d',t3); n=t3; cociente=n; resultado=[]; % Ciclo temporizador y conversion a binario Fase 3 while cociente > 0 

    resto=rem(cociente,2); cociente=fix(cociente./2); resultado=[resto resultado]; 

    end; fprintf('\n\n\n TIEMPO EN SEGUNDOS BINARIOS *'); fprintf('\n\n\n'); disp (resultado) t3=t3-1; disp (h) disp (i) disp (j) pause(1) 

    % ____________________________________________________________________ porcentaje_de_tiempo=(t3*100)/tiempo_fase_3; 

    if 

    porcentaje_de_tiempo==98|porcentaje_de_tiempo==96|porcentaje_de_tiempo==94|porcentaje_de_tiempo==92|porcentaje_de_tiempo==90|porcentaje_de_tiempo==88|porcentaje_de_tiempo==86|porcentaje_de_tiempo==84|porcentaje_de_tiempo==82|porcentaje_de_tiempo==80|porcentaje_de_tiempo==78|porcentaje_de_tiempo==76|porcentaje_de_tiempo==74|porcentaje_de_tiempo==72|porcentaje_de_tiempo==70|porcentaje_de_tiempo==68|porcentaje_de_tiempo==66|porcentaje_de_tiempo==64|porcentaje_de_tiempo==62|porcentaje_de_tiempo==60|porcentaje_de_tiempo==58|porcentaje_de_tiempo==56|porcentaje_de_tiempo==54|porcentaje_de_tiempo==52|porcentaje_de_tiempo==50|porcentaje_de_tiempo==48|porcentaje_de_tiempo==46|porcentaje_de_tiempo==44|porcentaje_de_tiempo==42|porcentaje_de_tiempo==40|porcentaje_de_tiempo==38|porcentaje_de_tiempo==36|porcentaje_de_tiempo==34|porcentaje_de_tiempo==32|porcentaje_de_tiempo==30|porcentaje_de_tiempo==28|porcentaje_de_tiempo==26|porcentaje_de_tiempo==24|porcentaje_de_tiempo==22|porcentaje_de_tiempo==20|porcentaje_de_tiempo==18|porcentaje_de_tiempo==16|porcentaje_de_tiempo==14|por

    centaje_de_tiempo==12|porcentaje_de_tiempo==10|porcentaje_de_tiempo==8|porcentaje_de_tiempo==6|porcentaje_de_tiempo==4|porcentaje_de_tiempo==2|porcentaje_de_tiempo==0; 

    % _______________________ h=h-1; for i=h:-1:h 

    if i==1 h=6; 

  • 8/16/2019 Evaluación Final POA

    15/28

     

    end end 

    % _______________________ 

    hold off subplot (3,1,1) 

    subplot (3,1,3) m (j,i)= 0; bar (m); 

    % _______________________ if h==6 

    j=j-1; end 

    % _______________________ subplot (3,1,2) end 

    % _______________________ end 

    end %MENSAJE FIN DE PROCESO clc fprintf('\n********************************************************'); fprintf('\n* FIN DE PROCESO *'); fprintf('\n********************************************************'); fprintf('\n\n********************************************************' ); fprintf('\n * FASE UNO TERMINADA * '); fprintf('\n ********************************************************'); fprintf('\n\n********************************************************' ); fprintf('\n * FASE DOS TERMINADA * '); fprintf('\n ********************************************************'); fprintf('\n\n********************************************************' ); fprintf('\n * FASE TRES TERMINADA * '); 

    fprintf('\n ********************************************************'); 

  • 8/16/2019 Evaluación Final POA

    16/28

     

    3.  Explicación de la validación de la solución a partir del banco dedatos seleccionados

    A continuación se mostrara las diferentes Capturas de pantalla del funcionamiento delaplicativo. 

    Inicialmente al ejecutar el aplicativo nos encontraremos con la interfaz para el tiempo dedepuración por fase en segundos:

    Al presionar cualquier tecla se inicia el temporizador para la fase 1, donde observamos el tiempo por segundos en decimal y binarios, al igual que la representación en la gráfica de la distribucióndel tiempo del trabajo.

  • 8/16/2019 Evaluación Final POA

    17/28

     

    Podemos entonces observar el tiempo que resta para terminar el proceso de la fase del trabajo.

  • 8/16/2019 Evaluación Final POA

    18/28

     

    Una vez terminado el proceso de la fase 1, la pantalla nos indicara el inicio de la segunda fase:

  • 8/16/2019 Evaluación Final POA

    19/28

     

    Después de finalizada la segunda fase e iniciada la tercera fase, podemos visualizar larepresentación de la matriz 10 x 5 en el plano 2D de la aplicación.

  • 8/16/2019 Evaluación Final POA

    20/28

     

    En la última etapa se imprimen por pantalla los valores de las coordenadas dadas a la matriz quese pueden observar en esta parte:

    Observamos también la distribución del tiempo en la gráfica:

  • 8/16/2019 Evaluación Final POA

    21/28

     

    Después de finalizada la demostración de la fase del trabajo No. 3, el aplicativo quedara en ordende espera para recibir orden de cualquier tecla para reiniciar.

  • 8/16/2019 Evaluación Final POA

    22/28

     

  • 8/16/2019 Evaluación Final POA

    23/28

     

    4. 

    Con un ejemplo explicar el uso del aplicativo

    Realizaremos una presentación (video) de la solución hallada:En el siguiente Link Presentamos nuestra solución.

    https://youtu.be/PP3L6IkSlb4 

    https://youtu.be/PP3L6IkSlb4 

    https://youtu.be/PP3L6IkSlb4https://youtu.be/PP3L6IkSlb4https://youtu.be/PP3L6IkSlb4https://youtu.be/PP3L6IkSlb4https://youtu.be/PP3L6IkSlb4https://youtu.be/PP3L6IkSlb4

  • 8/16/2019 Evaluación Final POA

    24/28

     

    5. 

    Recomendaciones y sugerencias

    1. Todo archivo .m que vayan a crear, "documéntenlo". El símbolo para hacer comentarios enuna línea es el porcentaje (%). Documenten entre otras cosas lo que hace el código, los parámetros y variables de retorno, y las variables intermedias más importantes.

    2. No se preocupen por validar datos, ¡ni yo se hacer eso todavía!, cuando usen el método imput para recibir una entrada por parte del usuario, especifiquen bien que tipo de datos es: vector (filaó columna), matriz, función, etc; y si correspone al valor de un parámetro, especifiquen qué tipode parámetro es (por ejemplo, para el método SOR: "ingrese lambda (coeficiente de relajación)"y no "ingrese lambda")

     Nota: Si es una función lo que piden que el usuario ingrese, pueden hacer dos cosas: pídanle almétodo imput que lo que le ingrese el usuario, no lo evalúe, sino que lo almacene como string(para hacer esto, coloquen como parámetro en la función imput después de la cadena decaracteres que vayan a mostrar inicialmente, este string: 's', así entre comillas. Ej:  n = imput('ingrese lambda (coeficiente de relajación)','s' )); ); o pidanle al usuario que escriba la funciónentre comillas simples.

    3. Tengan en cuenta estas consideraciones cuando vayan a dar nombres a las variables y a lasfunciones (que por supuesto, son mías; algunas difieren de lo que proponen la mayoría de losautores):

    a. Las variables escalares y vectoriales se nombran todas con minúsculas, y si son "de dos

    o más palabras" (ojala sólo de dos), separen las palabras con el underline ( _ ).Ej: x_anterior  o x_ant .

     b. Las variables que representen las matrices son por lo general de una sóla letra, y éstaen mayúscula (pero de ser palabras compuestas, usen nuevamente el underline, y lo quesiga de éste en minúsculas). Ej: A, B, L, U , U_prima, etc.

    c. Las funciones hechas por ustedes, nómbrelos todos iniciando con letra mayúscula (paradistinguirlos de los de Matlab que puedan poseer ese mismo nombre) y si éstos soncompuestos, cada palabra comienza con letra mayúscula. Ej: Cholesky, GaussSiedel , etc.

    d. Las variables son de máximo 7 letras (incluyendo el undeline).

  • 8/16/2019 Evaluación Final POA

    25/28

     

    6.  Posibilidad de aplicación en otro espacio o situación

    Puede ser utilizado en cualquier problema que tenga que ver con control computarizado una

    máquina X de manufactura de productos.

    MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una formaaltamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser una imagen ouna película. Una matriz de fluctuaciones de una señal puede ser un sonido o una voz humana. Ytal vez más significativamente, una matriz puede describir una relación lineal entre loscomponentes de un modelo matemático.

    En este último sentido, una matriz puede describir el comportamiento de un sistemaextremadamente complejo. Por ejemplo una matriz puede representar el vuelo de un avión a40.000 pies de altura, o un filtro digital de procesamiento de señales.

    Algún problema de aplicación:

  • 8/16/2019 Evaluación Final POA

    26/28

     

  • 8/16/2019 Evaluación Final POA

    27/28

     

    Conclusiones

    Mediante el proceso tomado se llega a una solución propuesta con base en los fundamentos y los

    conocimientos adquiridos durante el proceso de formación para que mediante la construcción de

    esta solución colaborativa nos apropiemos de la hipótesis y propuesta metodología dispuesta y

    definida por el grupo para contribuir activamente en la ejecución de la propuesta metodológica y

    así se aporto en la construcción de la solución del problema planteado en la consolidación del

    informe que recopilo de manera sucinta la solución al problema planteado.  

  • 8/16/2019 Evaluación Final POA

    28/28

     

    BIBLIOGRAFIA

    TheMathWorks. (2009). [en Línea]. Extraído el 31 de octubre de2013,dehttp://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf

    Capítulo 1. Páginas 26-29Aprenda matlab 7.0. (2005). [en Línea] .Extraído el 31 de julio de 2013.http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf

    Capítulo 6. Páginas 63-83

    Video Fundamentos de programación Scilab. Extraído 1 de junio de2014. https://www.youtube.com/watch?v=rO_EZskFW5Q 

    Aprenda matlab 7.0. (2005). [en Línea] .Extraído el 31 de julio de 2013.http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf.

    Capítulo 8. Páginas 108-119

    Toolbox matlab [En línea]. Extraído el 1 de junio de 2014.http://www.mathworks.es/es/help/database/getting-started-withdatabase-toolbox.html 

    Simulink. [En línea]. Extraído el 2 de junio de 2014.http://www.mathworks.es/products/simulink/videos.html 

    https://www.youtube.com/watch?v=rO_EZskFW5Qhttps://www.youtube.com/watch?v=rO_EZskFW5Qhttps://www.youtube.com/watch?v=rO_EZskFW5Qhttp://www.mathworks.es/es/help/database/getting-started-withdatabase-toolbox.htmlhttp://www.mathworks.es/es/help/database/getting-started-withdatabase-toolbox.htmlhttp://www.mathworks.es/products/simulink/videos.htmlhttp://www.mathworks.es/products/simulink/videos.htmlhttp://www.mathworks.es/products/simulink/videos.htmlhttp://www.mathworks.es/es/help/database/getting-started-withdatabase-toolbox.htmlhttps://www.youtube.com/watch?v=rO_EZskFW5Q