16
POLINOMIOS EN MATLAB Descripción del problema Se necesita realizar operaciones de polinomios en MATLAB, pero no se tienen conocimientos de cómo realizar esta tarea. Introducción MATLAB tiene algunos tipos diferentes de datos, incluidos datos numéricos de pre- cisión doble y sencilla, datos carácter, datos lógicos y datos simbólicos, los cuales se almacenan en una variedad de distintos arreglos. En este capítulo se explorará cómo los arreglos simbólicos permiten a los usuarios de MATLAB manipular y usar datos simbólicos. La caja de herramientas simbólicas de MATLAB le permite manipular expresiones simbólicas para simplificarlas, resolverlas simbólicamente y evaluarlas numéricamente. También le permite obtener derivadas, integrar y realizar manipulaciones algebraicas lineales. Las características más avanzadas incluyen transformadas de La- Place, transformadas de Fourier y aritmética de precisión variable. ÁLGEBRA SIMBÓLICA La matemática simbólica se usa regularmente en las clases de matemáticas, ingeniería y ciencias. Con frecuencia es preferible manipular las ecuaciones simbólicamente antes de sustituir valores para las variables. Desarrollo Vectores y Polinomios Los vectores se introducen entre corchetes, y sus elementos están separados por espacios o comas. Los elementos de vectores se referencian usando índices entre paréntesis. Los índices en MATLAB empiezan en 1.

Practica MATLAB #2 Polinomios, Fracciones Parciales, Matrices, Laplace

  • Upload
    davo

  • View
    182

  • Download
    7

Embed Size (px)

DESCRIPTION

Polinomios, Fracciones Parciales, Matrices, Laplace en MATLAB

Citation preview

  • POLINOMIOS EN MATLAB

    Descripcin del problema

    Se necesita realizar operaciones de polinomios en MATLAB, pero no se tienen conocimientos de

    cmo realizar esta tarea.

    Introduccin

    MATLAB tiene algunos tipos diferentes de datos, incluidos datos numricos de pre- cisin doble y

    sencilla, datos carcter, datos lgicos y datos simblicos, los cuales se almacenan en una variedad

    de distintos arreglos. En este captulo se explorar cmo los arreglos simblicos permiten a los

    usuarios de MATLAB manipular y usar datos simblicos.

    La caja de herramientas simblicas de MATLAB le permite manipular expresiones simblicas para

    simplificarlas, resolverlas simblicamente y evaluarlas numricamente. Tambin le permite

    obtener derivadas, integrar y realizar manipulaciones algebraicas lineales. Las caractersticas ms

    avanzadas incluyen transformadas de La- Place, transformadas de Fourier y aritmtica de precisin

    variable.

    LGEBRA SIMBLICA

    La matemtica simblica se usa regularmente en las clases de matemticas, ingeniera y ciencias.

    Con frecuencia es preferible manipular las ecuaciones simblicamente antes de sustituir valores

    para las variables.

    Desarrollo

    Vectores y Polinomios

    Los vectores se introducen entre corchetes, y sus elementos estn separados por espacios o

    comas.

    Los elementos de vectores se referencian usando ndices entre parntesis. Los ndices en MATLAB

    empiezan en 1.

  • Ejemplo: Para el elemento 2 del vector v, hacemos lo siguiente

    Nos manda el valor del segundo dato que introducimos.

    Se pueden referenciar varios elementos a la vez usando el operador : .

    Ejemplo:

    >>v(2 : 3)

    ans= 69 11

    MATLAB interpreta un vector de longitud n+1 como un polinomio de orden n. Por ello, si el

    polinomio tiene coeficientes nulos, deben aadirse ceros en los lugares correspondientes.

    Los polinomios se representan por vectores, conteniendo los coeficientes del polinomio en orden

    ascendente. Por ejemplo, el polinomio S + 2S + 3S + 4 se representa: P=[1 2 3 4 ]; Aqu tomamos los valores de forma ascendente Mediante la funcin roots se pueden encontrar las races de esa ecuacin.

    >>roots (P)

    Arrojando el resultado

    Del mismo modo, se puede calcular un polinomio a partir de sus races usando la funcin poly . p2=poly([ -1 -2 ]);

    >> v(2)

    ans= 69

    La i representa la raz de un

    nmero negativo.

  • La operacin inversa a roots es poly . Esta funcin toma los ceros de un polinomio devolviendo sus coeficientes. Usaremos otro ejemplo para comprender mejor:

    Ahora la operacin a resolver ser: 3S + 2 = 0 Pero ya sabemos que los valores pueden ir en forma descendente o ascendente. P3=[3 0 2]; Podemos separar los valores por espacios o por comas, por lo que escribir: P3=[ 3 , 0 , 2]; Es lo mismo que la operacin anterior. Y buscaremos su solucin usando el operador roots y nos queda as: Ahora haremos otro ejemplo con valores diferentes, el polinomio es ( S + 2 )( S + 5 ). Introducimos los valores como vectores en MATLAB:

    Pero como en la operacin se estn multiplicando estos polinomios necesitamos otro operador para resolverla usaremos conv :

    Pero en verdad es este el resultado? Haremos las operaciones del modo que MATLAB las tiene (1 2)(1 5) = 1 5+2 10 (Expandimos el polinomio) De modo que queda 1 7 10

  • Se comprob el resultado efectivamente. Ahora haremos otro ejemplo pero con un mayor nmero de valores. La operacin es:

    Donde tomaremos como p7 y p6 Introduciremos los datos por el orden de exponenciacin, quedando de la siguiente manera:

    Y una vez ms usaremos el operador conv lo que nos da directamente el resultado.

    El otro operador que tambin se usa en MATLAB es el deconv este operador divide a los polinomios. Creacin de variables simblicas Las variables simblicas simples se pueden crear en dos formas. Por ejemplo, para crear la variable simblica x, escriba >> syms(x) O >>syms x Ambas tcnicas hacen al carcter 'x' igual a la variable simblica x. Crean una nueva variable en el workspace dando un diseo diferente a las usadas anteriormente

  • Para las variables simblicas en MATLAB, les agrega un cono para hacerlas ms fciles de identificar al usuario. Las pone as porque su cantidad y dato de almacenamiento es variable, no como las otras variables que tienen un valor fijo y no cambia. Haremos otro ejercicio. Ahora la operacin a resolver es: 3T + 5T + 3 y esta a su vez se multiplicar por T ( T+2 ). Introducimos los valores conforme a las variables en MATLAB

    Y hacemos la operacin de multiplicacin y nos arroja el resultado.

    Pero aqu el resultado es el mismo, no realizaron las operaciones, por qu? Porque estamos realizando operaciones entre ecuaciones, y MATLAB no reconoce que existan valores fijos y por lo tanto no agrega u omite datos, solo realiza lo que se le pide que en una multiplicacin. Para que quede ms claro esto, es como si realizamos la operacin de A+B, donde el resultado es donde no tenemos ms datos acerca de las variables y por lo tanto el resultado es C otra variable.

  • Expansin de expresiones Para obtener el resultado completo de que pas con toda la ecuacin usaremos el operador expand de la siguiente manera.

    Ahora nos dio una versin ms clara de cmo estuvo la operacin, solo que MATLAB lo realiza de manera tan reducida y simplificada que parece no haber realizado la operacin. Existe otro operador para resolver ecuaciones lineales y no lineales y es solve , esta se puede usar para determinar las races de expresiones, para encontrar respuestas numricas cuando solo hay una variable y para resolver simblicamente una incgnita. La funcin solve permite encontrar soluciones analticas a una variedad de problemas. Cuando se usa con una expresin, la funcin solve iguala la expresin a cero y resuelve las races. Volviendo al ejemplo anterior, usaremos el operador solve para nuestra ecuacin.

    En este caso nos mand la solucin algebraica de nuestro sistema. Incluso cuando el resultado de la funcin solve sea un

    nmero, todava se almacena como una variable simblica.

    Fracciones parciales Para convertir entre fracciones parciales y coeficientes polinomiales se utiliza el operador residue . Para introducirlo a MATLAB, lleva cierta sintaxis y es: >>[ n , r ]=residue ( [numerador polinomial],[denominador polinomial]) Donde [n] representan los valor del numerador y [r] representan los valores del denominador. MATLAB trabaja con nmeros complejos (Nmero que se expresa como la suma de un nmero real y otro imaginario.) Por lo que a veces el resultado no es muy ortodoxo o lo que esperbamos.

  • Ejercicio: Queremos el resultado de la siguiente fraccin parcial

    Introducimos los datos en MATLAB

    Y usamos el operador residue , que en este caso tiene que llevar el [n,r]. Hay que tener mucho cuidado al momento de introducir la operacin, pues lleva varios signos que sin ellos sera muy complicado obtener un resultado correcto, sin que nos mande una alerta de error. Este resultado parece un poco confuso de entender por lo que nos ayudaremos de la funcin help y buscaremos el comando residue .

    Ah nos explica cmo interpretar ese resultado y como acomodarlo en orden correcto. Por lo que nuestro resultado sera as:

  • Ejemplo 2: Haremos otra fraccin parcial y obtendremos su resultado. La fraccin parcial a resolver es esta: Haciendo todo en MATLAB queda:

    Interpretando los datos que nos dio MATLAB nos queda la fraccin parcial de la siguiente manera.

    Ejemplo 3: Realizaremos otro ejercicio de fracciones parciales. La fraccin parcial a resolver es:

    Introduciendo nuestras operaciones en MATLAB queda:

    *Nota: El nmero que sigue de p ,(ejemplo p40) es solo el nombre de la variable, no significa nada en s.

    Introduccin de datos como vectores

    Uso del comando residue

    Resultado directo de MATLAB

  • En este caso se necesita hacer una divisin, por lo que usaremos el operador deconv

    Dndonos como resultado:

    Que se interpretara de la siguiente manera:

    Volviendo al tema de funciones esta tabla explica mejor los comandos que se usan en MATLAB para resolver ecuaciones.

  • Coretsa de Google Books: MATLAB para ingenieros, Holly Moore Ejercicio 4: Se proceder a resolver una matriz por mtodo de polinomios en MATLAB La matriz a resolver es:

    Pero antes tenemos que ordenar los datos en forma de matriz y separar trminos

    3 6 9 x 0

    -1 4 -2 * y = -3

    6 -4 1 z 13

    A X B

    Introducimos los datos en MATLAB como vectores:

    Se debe tener en cuenta antes de realizar la operacin, entre vectores, existe una diferencia de tamaos, por lo que no se podr hacer directamente. Para realizar esta operacin necesitamos obtener la inversa de A, de la siguiente manera: A * A * X = B Pero como A * A es igual a la identidad (1) se omite de la ecuacin A y queda: Identidad *x = B Despejando X X= A *B Una vez que tengamos esta frmula podemos generarla con

    comandos de MATLAB.

  • Pero en verdad es ese el resultado? Haremos las operaciones.

    ((3*(1.9302))+(6*(-0.4419))+(9*(-0.3488))) = 0.00

    ((-1.9302)+(4*-0.4419)-(2*-0.3488)) = -3.00

    ((6*1.9302)-(4*-0.4419)+(-0.3488)) = 13.00

    Efectivamente los datos concuerdan y el resultado es correcto.

    Integrales MATLAB permite obtener fcilmente integrales de algunas funciones muy complicadas. Por ejemplo, si quiere encontrar una integral indefinida (una integra para la que no se especifican los valores de las variables.) Se puede usar la funcin int . Ejercicio 5: Buscaremos el resultado del siguiente polinomio

    Primero se introduce en MATLAB la ecuacin

    Y se procede a obtener la respuesta mediante el uso del operador int() Si se omite el paso de declarar la variable simblica syms T al momento de hacer esta operacin, MATLAB lanza un error.

    Volvemos a usar el comando expand para ver con ms detalle el resultado de la operacin.

  • Derivadas de Orden Superior Para encontrar la derivada de orden superior, se puede anidar la funcin diff o especificar el orden de la derivada en la funcin diff . Ejercicio 6: Se realizar un ejercicio de derivadas La operacin a resolver es:

    Con un intervalo de tiempo T=0.5

    Se introduce en MATLAB de la siguiente manera:

    Dndonos el resultado:

    Resolucin de Ecuaciones Diferenciales La funcin dsolve resuelve ecuaciones diferenciales. Cuando se resuelve una eciacin diferencial, se busca una expresin para y en trminos de T . Esta funcin requiere que el usuario ingrese le ecuacin diferencial, usando el smbolo D para especificar derivadas con respecto a la variable independiente. Ejemplo7: Resolveremos la siguiente ecuacin diferencial.

    El ltimo valor despus de la , es el

    intervalo de tiempo.

  • Introducimos en MATLAB la ecuacin usando el operador dsolve .

    Arrojndonos el siguiente resultado:

    Ejercicio 8: Haremos la siguiente ecuacin diferencial y queremos graficar su salida.

    La ecuacin a resolver es:

    Introducimos la operacin en MATLAB de la siguiente manera:

    Nos da el resultado de la ecuacin.

    Pero falta graficar

    Es con respecto a X. La condicin inicial

  • Se ejecuta todo seguido, sin dar ENTER a nada.

    Y nos da la grfica que estbamos esperando.

    -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 30

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    5

  • Ejercicio 9: Queremos la respuesta de la siguiente ecuacin diferencial

    Metemos las operaciones en MATLAB y queda de la siguiente manera:

    Transformada de Laplace Realizaremos la transforma de Laplace de una ecuacin ya hecha la p81

    Para ello necesitamos el operador laplace que nos genera automticamente en MATLAB

    El otro comando para la transformada inversa de Laplace es ilaplace .

  • Conclusiones Autor: Morales Lozada Hctor Hugo En esta segunda clase de MATLAB logramos se aprendi el cmo utilizarlo para las operaciones

    de ecuaciones diferenciales, como es el caso de Laplace y su inversa adems de cmo podemos

    introducirlas en su forma comn (simblica) o de manera de matriz, por lo que empezamos a

    introducir operaciones ms complejas para su resolucin, adems de como introducir las

    ecuaciones en forma de matiz y adems de cuando completarla.

    Autor: Garca Ceballos Sergio

    MATLAB es una herramienta muy til ya que nos resolver ecuaciones de cualquier tipo en

    cuestin de minutos haciendo ms fcil y rpido las tareas, me parece sorprendente como con un

    solo comando puedes desarrollar ecuaciones integrales y diferenciales lo nico q me parece un

    poco tedioso es el introducir variables simblica, me resulta ms fcil el hecho de poner las

    ecuaciones con solo los coeficientes y obtener resultados directos.

    Autor: Gonzlez Domnguez Andrs David

    La solucin de ecuaciones diferenciales resulta muy til en la carrera, adems de que no solo son

    ese tipo de ecuaciones, sino de Laplace, y LaGrange. La manera en que MATLAB es un poco

    confusa, pero es solo cuestin te teclearle HELP, o de buscar directamente la funcin que

    queremos utilizar, adems de tener un nivel aceptable de ingls en esta seccin se explica de

    manera clara cmo es que se representan los datos y cul es la forma de acomodarlos de MATLAB.

    Bibliografa: Imagen Tabla Google Books: MATLAB para ingenieros, Holly Moore Introduccin e informacin en general MATLAB para ingenieros, Holly Moore. Informacin acerca de Polinomios Manual de Introduccin a MATLAB, Manuel Martnez, Jos Acosta. Software usado para las ecuaciones: Matemticas de Microsoft 2008