Page 68 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 68

44                      PROGRAMACIÓN Y SOFTWARE

                                      que se encuentra en la barra de tareas (que por lo general está en la parte inferior de la
                                      pantalla).
                                         Ahora, el programa se puede correr al hacer clic en el archivo M, analpara, que debe
                                      parecerse a lo siguiente:
                                         >> analpara

                                      Si usted ha hecho todo en forma correcta, MATLAB debe responder con la respuesta
                                      correcta:

                                         v =
                                           16.4050

                                         Ahora, un problema con lo anterior es que está preparado para calcular sólo un caso.
                                      El lector lo puede hacer más flexible si hace que el usuario introduzca algunas de las
                                      variables. Por ejemplo, suponga que desea evaluar el efecto de la masa sobre la velocidad
                                      a los 2 s. Para hacer esto, el archivo M podría reescribirse como sigue:

                                         g=9.8;
                                         m=input(‘masa (kg):’);
                                         cd=12.5;
                                         tf=2;
                                         v=g*m/cd*(1-exp(-cd/m*tf))

                                      Guarde esto con el nombre de analpara2.m. Si escribió analpara2 mientras se encontra-
                                      ba en el modo de comando, la línea mostrará lo que sigue:

                                         masa (kg):

                                      Entonces, el usuario introduce un valor como 100, y el resultado aparecerá como:

                                         v =
                                           17.3420

                                         Ahora, debe quedar bastante claro cómo se puede programar una solución numéri-
                                      ca por medio de un archivo M. A fin de hacerlo, primero debemos entender la manera
                                      en que MATLAB maneja las estructuras lógica y de lazo (ciclos o loops). En la figura
                                      2.9 se enlista el seudocódigo junto con el código de MATLAB para todas las estructuras
                                      de control, con base en la sección anterior. Aunque las estructuras del seudocódigo y el
                                      código MATLAB son muy similares, existen algunas diferencias pequeñas que deben
                                      destacarse.
                                         En especial, observe cómo hemos expresado la estructura DOEXIT. En lugar del
                                      DO usamos el WHILE(1). Como MATLAB interpreta al número 1 como correspon-
                                      diente a “verdadero”, esta instrucción se repetirá indefinidamente de la misma manera
                                      que el DO. El loop termina con un comando de interrupción (break), el cual transfiere
                                      el control a la instrucción que se encuentra a continuación, de la instrucción end que
                                      termina el ciclo.
                                         También hay que observar que los parámetros del lazo controlado por contador
                                      están ordenados de modo diferente. Para el seudocódigo, los parámetros del lazo están





                                                                                                         6/12/06   13:43:45
          Chapra-02.indd   44
          Chapra-02.indd   44                                                                            6/12/06   13:43:45
   63   64   65   66   67   68   69   70   71   72   73