0% encontró este documento útil (0 votos)
159 vistas2 páginas

Normalización de Polinomios en MATLAB

Este documento describe cómo construir polinomios de interpolación de Lagrange en MATLAB. Explica cómo representar polinomios mediante vectores de coeficientes y operaciones básicas como cálculo de raíces, evaluación y multiplicación. Luego, detalla un procedimiento para construir los polinomios de Lagrange para nodos dados y usarlos para interpolar una función exponencial en esos nodos, graficando el resultado. Finalmente, sugiere escribir una función que devuelva directamente los coeficientes del polinomio interpolador.

Cargado por

Jorge Beniez C
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
159 vistas2 páginas

Normalización de Polinomios en MATLAB

Este documento describe cómo construir polinomios de interpolación de Lagrange en MATLAB. Explica cómo representar polinomios mediante vectores de coeficientes y operaciones básicas como cálculo de raíces, evaluación y multiplicación. Luego, detalla un procedimiento para construir los polinomios de Lagrange para nodos dados y usarlos para interpolar una función exponencial en esos nodos, graficando el resultado. Finalmente, sugiere escribir una función que devuelva directamente los coeficientes del polinomio interpolador.

Cargado por

Jorge Beniez C
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Prctica 1: Polinomios en MATLAB. Interpolacin de Lagrange I.

En MATLAB un polinomio se representa mediante un vector fila que contiene los coeficientes de las potencias en orden decreciente: empezando por el coeficiente principal y terminando por el trmino independiente. Por ejemplo, el polinomio p(x)=3x2-2x-1 se representa con
p = [3 -2 -1];

MATLAB contempla las siguientes operaciones bsicas con polinomios: Clculo de las races a partir de la lista coeficientes, por medio del comando roots( ), por ejemplo
r=roots(p)

nos devuelve
r = 1.0000 -0.3333

El resultado es un vector columna de ceros. Clculo de los coeficientes a partir del vector columna de ceros, por medio del comando poly( ), por ejemplo
poly(r)

nos devuelve
ans = 1.0000 -0.6667 -0.3333

Observe que el polinomio devuelto siempre es mnico. Multiplicacin de dos polinomios dados por la lista de sus coeficientes, por medio del comando conv( , ). Por ejemplo, para comprobar que (x-5) (x+1)=x2-4x-5 basta ejecutar
conv([1 -5], [1 1 -4 1]) -5

obteniendo
ans =

La divisin se realiza por medio del comando deconv( , ): si p(x)=s(x) q(x) + r(x), se puede usar el formato
[s, r] = deconv(p, q])

Evaluacin de un polinomio dado por la lista de sus coeficientes p en un valor x, por medio del comando polyval(p, x). Por ejemplo, para comprobar que p(1)0= basta realizar
polyval(p, 1)

obteniendo
ans = 0

polyval( ) realiza la evaluacin siguiendo el algoritmo de Horner o de multiplicacin anidada. Si x es un vector o una matriz, MATLAB devuelve la matriz con el polinomio evaluado en cada elemento. Recordemos que dados unos nodos de interpolacin x=[x0, x1, ..., xn], los polinomios bsicos de Lagrange se definen por la frmula li(t)= (t-x0)... (t-xi-1)(t-xi+1)... (t-xn) , i=0, 1, ..., n .

(xi-x0)...(xi-xi-1)(xi-xi+1)... (xi-xn) Entonces el polinomio pn de menor grado que interpola la nube de puntos (x0, f0), ..., (xn,fn) est dado por pn(t)=f0 l0(t) + ... + fn ln(t) . Problema 1 Vamos a construir los polinomios bsicos de Lagrange para los nodos x=[ 3, -1, 1], usando los comandos vistos hasta ahora. Un procedimiento, aunque poco eficiente, podra ser: 1. construir el polinomio nodal (el polinomio mnico que se anula en todos los nodos de interpolacin) por medio de la funcin poly; 2. para cada uno de los nodos eliminar el factor que contiene ese nodo, dividiendo con deconv el polinomio nodal entre el factor lineal que se anula en dicho nodo; 3. normalizar cada polinomio, dividindolo entre su valor en el nodo omitido; utilizar polyval. Dibuje las grficas de cada uno de los polinomios obtenidos en el intervalo [-4, 2] y compruebe visualmente que en efecto los polinomios obtenidos satisfacen la propiedad li(xj)=ij. Para ello tabule los valores de cada polinomio en 200 puntos equiespaciados del intervalo, creados con
linspace(-4, 2, 200);

Problema 2 Usando los resultados del problema anterior construya el polinomio de menor grado que interpole la funcin f(t)=exp (t) en los nodos -3, -1, 1. Dibuje su grfica junto con la de la funcin f en el intervalo [-4,2] y compruebe visualmente que el polinomio obtenido interpola a f en los nodos indicados. Para diferenciar las dos curvas puede despus de plot usar el comando
legend('Funcion', 'Polinomio');

Problema 3 [Opcional] Escribir una funcin lagrange con el formato


function [c]=lagrange(x, f)

que dados los nodos (vector x) y los valores correspondientes de ordenada (vector f) devuelva los coeficientes del polinomio interpolador de Lagrange.

También podría gustarte