Monografias.com > Matemáticas
Descargar Imprimir Comentar Ver trabajos relacionados

Estructura y funcionamiento del Programa Raíces




Enviado por avalos-carlosx



     

    Indice
    1.
    Función principal

    2. Subfunciones
    principales

    3. Notas

    1. Función
    principal

    El programa esta compuesto por la función
    principal raices y 9 subfunciones.
    Diagrama de la
    función principal y subfunciones principales
    *1
    RAICES
    (Función principal)
    CUADRATICA
    TRESRED
    TRESCOMP
    CUATROLa función raices necesita de un polinomio de grado
    dos y hasta grado cuatro y que sea de la siguiente forma:
    -Se crea el polinomio (utilizando notación matricial) y se
    asigna a una variable:
    y = [3 5 9];
    -Se llama a la función raices enviando el polinomio que se
    creo: raices (y)
    La función verificará el grado del polinomio,
    llamará a la subfunción correspondiente y en caso
    de que el polinomio sea de un grado inferior a dos o mayor a
    cuatro se enviará un mensaje de error indicando que el
    polinomio no puede ser resuelto por el programa.
    Al llamar a la función principal se verifica que el primer
    coeficiente sea uno, en caso contrario se dividirá el
    polinomio entre ese coeficiente para obtener un polinomio de la
    forma:
    x2 + Bx + C con B y C como cualquier coeficiente
    obtenido en la división.
    Teniendo ya un polinomio entre grado dos y cinco y de la forma
    antes descrita se selecciona la subfunción principal a
    ejecutar (cuadratica, tresred, trescom, cuatro) en base al grado
    del polinomio. La subfunción correspondiente regresara los
    resultados y raices lo desplegará en pantalla.

    2. Subfunciones
    principales

    a) cuadratica:
    El grado mínimo aceptado es dos, en este caso se
    llamará a la función cuadratica, ésta
    procederá a realizar las siguientes operaciones:
    Las raíces se obtienen directamente con la siguiente
    fórmula *2:
    Si

    Los resultados se almacenan en una matriz y se
    envían a raices para su posterior impresión.
    A los polinomios de tercer grado los vamos a dividir en dos:
    forma reducida y forma completa.
    Los polinomios de tercer grado de forma reducida son aquellos en
    los que el segundo coeficiente es igual a 0:

    los de forma completa (todos sus coeficientes son
    diferentes de 0):

    b) tresred:
    La subfunción tresred se encarga de calcular las
    raíces de las ecuaciones de
    tercer grado de forma reducida. Ésta subfunción
    utiliza las siguientes subfunciones: calculaxuno y esta a su vez
    utiliza xunousuario.
    Tresred
    Calculaxuno
    Calculaxunousuario
    Tresred recibe el polinomio y calcula las raíces en base a
    lo siguiente:

    Proceso
    iterativo (calculaxuno)

    La subfunción calculaxuno se encargará del
    proceso
    iterativo.
    El proceso iterativo es aquel en el que se dan valores
    arbitrarios a la ecuación:

    Entre más cercanos estemos del valor de
    –D más exactos serán los resultados.
    Ésta subfunción intentará encontrar el valor
    de x exacto (lo más posible) para satisfacer la
    ecuación anterior sin necesidad de que el usuario de
    valores, para esto se tomarán dos valores como tope: -1
    000 y 1 000, se tomará un valor intermedio entre estos
    valores (el primero obviamente será 500), se evaluara en
    ese valor intermedio para ver si satisface la ecuación, en
    caso de no ser el valor buscado se tomaran los valores
    mayores o menores a ese valor medio dependiendo de que el valor
    arrojado sea mayor o menor al valor buscado, de ésta forma
    si el valor buscado es mayor al arrojado por la ecuación
    se tomara ahora como limites el 500 y el 1 000,
    repitiéndose así este proceso 60 0000 veces o hasta
    encontrar el numero deseado. Éste proceso es conocido como
    búsqueda binaria.
    En caso de que la computadora
    no sea capaz de encontrar el valor para satisfacer la
    ecuación se pedirá al usuario que lo busque por si
    mismo, para ello se llama a la subfunción
    calculaxunousuario en la cual se preguntará por un valor
    al usuario y se le mostrará cual es el valor encontrado y
    el buscado, si se desea continuar dando valores se debe responder
    con una "s" a la pregunta si se desea continuar
    intentándolo o "n" en caso de que la diferencia entre los
    dos numero sea mínima y el usuario no le de importancia a
    esa diferencia, en caso de que el usuario encuentre un numero que
    satisfaga por completo la ecuación se le indicará y
    ya no se le preguntará si desea continuar buscando el
    valor *3.
    Al encontrar x1 a través del proceso iterativo
    se regresa el valor a la subfunción tresred y se
    calculará x2 y x3 de acuerdo con las
    formulas indicadas.

    c) trescom:
    La subfunción trescom se encarga de calcular las
    raíces de tercer grado de forma completa.
    Trescom
    Calculaxunoc
    Calculaxunousuarioc
    Las raíces se calculan de acuerdo a lo
    siguiente:

    Proceso
    iterativo (calculaxunoc)

    Aquí también encontramos x1 por
    proceso iterativo pero ahora con la función calculaxunoc.
    La única diferencia entre calculaxuno (usada para los
    polinomios de tercer grado en forma reducida) y calculaxunoc es
    la fórmula que se utiliza para encontrar el valor de
    x1 pero el proceso es el mismo y en caso de no
    encontrarlo por si solos, el programa y la computadora,
    el valor de x1, se llamará a
    calculaxunousuarioc que, de igual forma, realiza el mismo proceso
    que calculaxunousuario con otra fórmula. La fórmula
    que utilizan las subfunciones calculaxunoc y calculaxunousuarioc
    ("c" de ecuación cúbica completa)
    es:

    d) cuatro:
    Finalmente llegamos al caso en que la ecuación es un
    polinomio de grado cuatro. Cuando tenemos uno de estos polinomios
    se llama a la subfunción principal cuatro.
    Cuatro
    Calculaxunousuariocuatro
    La subfunción cuatro calcula las raíces de la
    siguiente forma:
    Siguiendo el procedimiento
    (iterativo) empleado hay que resolver la siguiente
    ecuación cúbica:

    pol(x) es el numero del coeficiente del polinomio:
    pol(1) = coeficiente del primer termino, pol(2) coeficiente del
    segundo termino, etc.
    Para simplificar los cálculos dividiremos la
    ecuación anterior en:

    Aquí mandamos llamar a la subfunción
    calculaxunousuariocuatro y le enviamos las tres ecuaciones
    anteriores para obtener el valor de ac *4, dentro de
    ésta subfunción se pedirá al usuario que
    indique el numero de decimales a usar, pueden tomarse solo 4
    decimales o 16. Se deberá elegir el numero de decimales de
    acuerdo con la exactitud con la que se quiera trabajar tomando en
    cuenta que una pequeña diferencia al encontrar el valor
    buscado puede significar un gran error más adelante, la
    magnitud del error depende del polinomio ya que en algunos una
    pequeña diferencia puede no significar mucho pero en otros
    polinomios se podrá encontrar un error de hasta
    enteros.
    Los valores que teclee el usuario serán sustituidos en la
    siguiente ecuación:

    calculaxunousuariocuatro regresa el valor de ac y
    calculamos ac2 y ac3:

    con lo cual procedemos a obtener a y c por
    separado:

    ahora calculamos (a2 + b2) y
    (c2 + d2):

    para así obtener b y d:

    finalmente obtenemos las cuatro raíces que
    buscamos:

    La subfunción principal cuatro regresa las
    raíces encontradas a raices y ésta última la
    imprime en pantalla.

    3. Notas

    *1.- El diagrama completo esta como diapositiva en el
    archivo
    diagrama.
    *2.- Todas las fórmulas utilizadas se obtuvieron del
    documento escrito por el Ingeniero Aeronáutico Juan
    Antonio Caso y que se encuentra en la página: http://www.lpsat.net/caso/.
    *3.- Este procedimiento es aplicable a todas las funciones que se
    encargan de buscar por iteración una de las raíces,
    en realidad lo único que cambia es la ecuación con
    la cual se trabaja. La única subfunción que no
    realiza el proceso de buscar ese numero a través de la
    computadora es calculaxunousuariocuatro ya que ésta
    subfunción directamente pregunta al usuario por el valor a
    usar. No se utiliza el proceso de búsqueda binaria ya que
    dicho proceso no da resultado, sería bueno que alguien
    investigara el por qué de tal situación.
    *4.- Las variables
    utilizadas en este procedimiento (ac1, ac2,
    ac3, a, c, b, d, etc) son las mismas a las que se
    refiere el trabajo del
    Ingeniero Juan Antonio Caso, para más información acerca de dónde y por
    qué se obtienen dichas variables remitirse a dicho trabajo
    (específicamente paginas: 9, 10 y 11) ya que el objetivo es
    mostrar el funcionamiento del programa "raices" y no el
    procedimiento para obtener las raíces, la
    explicación de la obtención de las raíces de
    un polinomio por método
    iterativo ya esta escrita en el trabajo mencionado.

     

     

     

     

    Autor:

    Carlos alberto Pérez

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter