INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

12
jj INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES Cálculo Numérico Juan Ignacio Ferrer 2017

Transcript of INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Page 1: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

jj

INTERPOLACIÓN Y

APROXIMACIÓN DE

FUNCIONES Cálculo Numérico

Juan Ignacio Ferrer

2017

Page 2: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

1

Introducción:

La naturaleza oscilatoria de los polinomios de alto grado y la propiedad de que una

fluctuación en una parte pequeña del intervalo puede ocasionar importantes

fluctuaciones en todo el rango limita la aproximación de una función arbitraria por

medio de un polinomio en un intervalo cerrado.

Un procedimiento alterno consiste en dividir el intervalo en una serie de subintervalos,

y en cada subintervalo construir un polinomio (generalmente) diferente de su

aproximación. A esta forma de aproximar por medio de funciones se le conoce como

aproximación polinómica fragmentaria. La más común utiliza polinomios entre cada

par consecutivo de nodos y recibe el nombre de interpolación de trazadores cúbicos.

Un polinomio cúbico general contiene cuatro constantes; entonces el procedimiento

del trazador cúbico ofrece suficiente flexibilidad para garantizar que el interpolante no

sólo sea continuamente diferenciable en el intervalo, sino que además tenga una

segunda derivada continua en el intervalo. Sin embargo, en la construcción del

trazador cúbico no se supone que las derivadas del interpolante concuerdan con los de

la función, ni siquiera en los nodos.

Entonces, definimos S de la siguiente manera:

Dada una función f definida en [a, b] y un conjunto de nodos

𝑎 = 𝑥0 < 𝑥1 < ⋯ < 𝑥𝑛 = 𝑏, un interpolante de trazador cúbico S para f es una

función que cumple con las siguientes condiciones:

a- S(x) es un polinomio cúbico, denotado 𝑆𝑗(𝑥), en el subintervalo [𝑥𝑗 , 𝑥𝑗+1]

para cada 𝑗 = 0, 1, … , 𝑛 − 1;

b- 𝑆𝑗(𝑥) = 𝑓(𝑥𝑗) para cada 𝑗 = 0, 1, … , 𝑛 − 1;

c- 𝑆𝑗+1(𝑥𝑗+1) = 𝑆𝑗(𝑥𝑗+1) para cada 𝑗 = 0, 1, … , 𝑛 − 2;

d- 𝑆′𝑗+1(𝑥𝑗+1) = 𝑆′𝑗(𝑥𝑗+1) para cada 𝑗 = 0, 1, … , 𝑛 − 2;

e- 𝑆′′𝑗+1(𝑥𝑗+1) = 𝑆′′𝑗(𝑥𝑗+1) para cada 𝑗 = 0, 1, … , 𝑛 − 2;

f- Una de las siguientes condiciones de frontera se satisface:

a. 𝑆′′(𝑥0) = 𝑆′′(𝑥𝑛) = 0 (frontera libre o natural);

b. 𝑆′(𝑥0) = 𝑓′(𝑥0) y 𝑆′(𝑥𝑛) = 𝑓′(𝑥𝑛) (frontera sujeta);

En términos generales, en las condiciones de frontera sujeta se logran aproximaciones

más exactas, ya que abarca más información acerca de la función. Pero para que se

cumpla ese tipo de condición de frontera, se requiere tener los valores de la derivada

en los extremos o bien una aproximación precisa de ellos.

En este trabajo práctico se abordará este procedimiento de aproximación aplicado a una

curva parametrizada dada en el siguiente enunciado:

a) Modifique la función desarrollada en el ejercicio 6.b) de manera que permita

computar los coeficientes del trazador cubico sujeto. Se debe prever el ingreso

de los valores de la derivada de la función en los extremos del intervalo de

Page 3: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

2

interpolación. Enuncie el teorema que justifique este algoritmo y muestre el

sistema matricial que resuelve el mismo.

c) Se quiere determinar la trayectoria plana seguida por un brazo robot industrial

(idealizado por un punto material) durante un ciclo de trabajo. El brazo robot

debe satisfacer las siguientes restricciones: se debe encontrar en reposo en el

punto (0, 0) en el instante inicial. Luego de 1s se debe encontrar en el punto (2,

4), 1s después debe alcanzar el punto (6, 6) y detenerse allí. En una segunda

etapa retoma inmediatamente su movimiento y alcanza, luego de otro segundo

más el punto (3, 2) para finalmente retornar al origen luego de otro segundo

más, donde quedara detenido para repetir el ciclo de trabajo.

Encuentre el trazador cúbico sujeto correspondiente utilizando el código

desarrollado en el primer inciso y luego realice las siguientes graficas: (i) x vs. t

(ambos tramos en la misma gráfica), (ii) y vs. t (ídem anterior), y finalmente (iii)

en el plano xy la trayectoria encontrada.

Entonces, definimos:

𝑆𝑗(𝑥) = 𝑎𝑗 + 𝑏𝑗(𝑥 − 𝑥𝑗) + 𝑐𝑗(𝑥 − 𝑥𝑗)2 + 𝑑𝑗(𝑥 − 𝑥𝑗)

3

𝑎𝑗 = 𝑓(𝑥𝑗) = 𝑆(𝑥𝑗)

𝑆𝑗(𝑥𝑗) = 𝑎𝑗 para 𝑗 = 0, 1, … , 𝑛 − 1

Siendo h la separación entre los x:

ℎ𝑗 = 𝑥𝑗+1 − 𝑥𝑗

(cond. c) 𝑆𝑗+1(𝑥𝑗+1) = 𝑎𝑗+1 = 𝑆𝑗(𝑥𝑗+1) = 𝑎𝑗 + 𝑏𝑗ℎ𝑗 + 𝑐𝑗ℎ𝑗2 + 𝑑𝑗ℎ𝑗

3

𝑆′𝑗(𝑥) = 𝑏𝑗 + 2𝑐𝑗(𝑥 − 𝑥𝑗) + 3𝑑𝑗(𝑥 − 𝑥𝑗)2 para 𝑗 = 0…𝑛 − 2

𝑆′𝑗(𝑥𝑗) = 𝑏𝑗

(cond. d) 𝑆′𝑗+1(𝑥𝑗+1) = 𝑏𝑗+1 = 𝑆′𝑗(𝑥𝑗+1) = 𝑏𝑗 + 2𝑐𝑗ℎ𝑗 + 3𝑑𝑗ℎ𝑗2 para 𝑗 = 0…𝑛 − 2

Se hace válido hasta 𝑛 − 1 con las definiciones:

𝑎𝑛 = 𝑓(𝑥𝑛)

𝑏𝑛 = 𝑆′(𝑥𝑛)

𝑆(𝑛−1)(𝑥𝑛) = 𝑎(𝑛−1) + 𝑏(𝑛−1)(𝑥 − 𝑥(𝑛−1)) + 𝑐(𝑛−1)(𝑥 − 𝑥(𝑛−1))2+ 𝑑(𝑛−1)(𝑥 −

𝑥(𝑛−1))3

𝑆(𝑛−1)(𝑥𝑛) = 𝑓(𝑥𝑛) = 𝑎(𝑛−1) + 𝑏(𝑛−1)ℎ(𝑛−1) + 𝑐(𝑛−1)ℎ2(𝑛−1) + 𝑑(𝑛−1)ℎ

3(𝑛−1)

Ahora, para j = 0… n-1:

𝑎(𝑗+1) = 𝑎𝑗 + 𝑏𝑗ℎ𝑗 + 𝑐𝑗ℎ𝑗2 + 𝑑𝑗ℎ𝑗

3

𝑏(𝑗+1) = 𝑏𝑗 + 2𝑐𝑗ℎ𝑗 + 3𝑑𝑗ℎ𝑗2

Page 4: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

3

Calculo 𝑆′′:

𝑆′′𝑗(𝑥) = 2𝑐𝑗 + 6𝑑𝑗(𝑥 − 𝑥𝑗)

𝑆′′𝑗(𝑥𝑗)

2= 𝑐𝑗 𝑝𝑎𝑟𝑎 𝑗 = 0,… , 𝑛 − 1

𝑆′′𝑗+1(𝑥𝑗+1)

2= 𝑐𝑗+1 =

𝑆′′𝑗(𝑥𝑗+1)

2= 𝑐𝑗 + 3𝑑𝑗ℎ𝑗 𝑝𝑎𝑟𝑎 𝑗 = 0. . 𝑛 − 2

Se hace válido hasta n -1:

𝑐𝑛 =𝑆′′(𝑥𝑛)

2

Así, podemos plantear:

(1) 𝑎(𝑗+1) = 𝑎𝑗 + 𝑏𝑗ℎ𝑗 + 𝑐𝑗ℎ𝑗2 + 𝑑𝑗ℎ𝑗

3

(2) 𝑏(𝑗+1) = 𝑏𝑗 + 2𝑐𝑗ℎ𝑗 + 3𝑑𝑗ℎ𝑗2

(3) 𝑐(𝑗+1) = 𝑐𝑗 + 3𝑑𝑗ℎ𝑗

De la ecuación (3) despejamos 𝑑𝑗:

𝑑𝑗 = 1

3ℎ𝑗(𝑐(𝑗+1) − 𝑐𝑗)

Reemplazamos en (1):

𝑎(𝑗+1) = 𝑎𝑗 + 𝑏𝑗ℎ𝑗 + 𝑐𝑗ℎ𝑗2 +

ℎ𝑗2

3(𝑐(𝑗+1) − 𝑐𝑗)

𝑎(𝑗+1) = 𝑎𝑗 + 𝑏𝑗ℎ𝑗 +ℎ𝑗2

3(𝑐(𝑗+1) + 2𝑐𝑗) (4)

Luego reemplazamos en (2):

𝑏(𝑗+1) = 𝑏𝑗 + 2𝑐𝑗ℎ𝑗 +3

3ℎ𝑗(𝑐(𝑗+1) − 𝑐𝑗) ℎ𝑗

2

𝑏(𝑗+1) = 𝑏𝑗 + ℎ𝑗(𝑐(𝑗+1) + 𝑐𝑗) (5) para j = 0..n-1

Despejando 𝑏𝑗 de (4):

𝑏(𝑗) =𝑎(𝑗+1)−𝑎𝑗−

ℎ𝑗2

3(𝑐(𝑗+1)+2𝑐𝑗)

ℎ𝑗=

1

ℎ𝑗(𝑎(𝑗+1) − 𝑎𝑗) −

ℎ𝑗

3(𝑐(𝑗+1) + 2𝑐𝑗) (6)

Procedemos a reducir el índice de (5) y (6):

𝑏(𝑗) = 𝑏𝑗−1 + ℎ𝑗−1(𝑐𝑗 + 𝑐𝑗−1) (5’)

𝑏(𝑗−1) =1

ℎ𝑗−1(𝑎𝑗 − 𝑎𝑗−1) −

ℎ𝑗−1

3(𝑐𝑗 + 2𝑐𝑗−1) (6’)

Reemplazamos 𝑏(𝑗−1) de (6’) en (5’) y luego multiplicamos por 3:

Page 5: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

4

3𝑏(𝑗) =3

ℎ𝑗−1(𝑎𝑗 − 𝑎𝑗−1) − ℎ𝑗−1(𝑐𝑗 + 2𝑐𝑗−1) + 3ℎ𝑗−1(𝑐𝑗 + 𝑐𝑗−1) (7)

Agrupando coeficientes:

3

ℎ𝑗(𝑎𝑗+1 − 𝑎𝑗) −

3

ℎ𝑗−1(𝑎𝑗 − 𝑎𝑗−1) = ℎ𝑗(𝑐𝑗+1 + 2𝑐𝑗)−ℎ𝑗−1(𝑐𝑗 + 2𝑐𝑗−1) + 3ℎ𝑗−1(𝑐𝑗 +

𝑐𝑗−1)

Distribuyendo y reagrupando, se obtiene el sistema de ecuaciones lineales:

3

ℎ𝑗(𝑎𝑗+1 − 𝑎𝑗) −

3

ℎ𝑗−1(𝑎𝑗 − 𝑎𝑗−1) = 2𝑐𝑗(ℎ𝑗 + ℎ𝑗−1) + 𝑐𝑗−1ℎ𝑗−1 + ℎ𝑗𝑐𝑗+1

para j=1, ..., n-1 (8)

Este sistema contiene sólo {𝑐𝑗}𝑗=0𝑛

como incógnitas, ya que los valores de {ℎ𝑗}𝑗=0𝑛−1

y de

{𝑎𝑗}𝑗=0𝑛

están dados por el espacio de los nodos {𝑥𝑗}𝑗=0𝑛

y los valores de f en estos.

Así, una vez que se conocen los valores de {𝑐𝑗}𝑗=0𝑛

encontrar el resto de las constantes

{𝑏𝑗}𝑗=0𝑛−1

partiendo de la ecuación (6) y {𝑑𝑗}𝑗=0𝑛−1

de la ecuación (3) para construir los

polinomios cúbicos {𝑆𝑗(𝑥)}𝑗=0𝑛−1

es simple.

Lo que se necesita saber ahora es si se pueden determinar los valores {𝑐𝑗}𝑗=0𝑛

por medio

del sistema de ecuaciones dado e n la ecuación (8) y, de ser así, si estos valores son

únicos.

Las condiciones de frontera para que esto sea posible se establecen como:

• 𝑆′(𝑥0) = 𝑓′(𝑥0)

• 𝑆′(𝑥𝑛) = 𝑓′(𝑥𝑛)

Por teorema:

Si f está definida en 𝑎 = 𝑥0 < 𝑥1 < ⋯ < 𝑥𝑛 = 𝑏 y es diferenciable en a y b, entonces f

tiene un único trazador sujeto que interpola los nodos 𝑥0, 𝑥1, … , 𝑥𝑛, es decir, un

interpolante de trazador que cumple las condiciones de frontera:

𝑆′(𝑎) = 𝑓′(𝑎)

𝑆′(𝑏) = 𝑓′(𝑏)

Entonces:

𝑓′(𝑥0) = 𝑆′(𝑥0) = 𝑏0, y la ecuación (6) con j=0 implica que

𝑓′(𝑎) =1

ℎ0(𝑎1 − 𝑎0) −

ℎ0

3(𝑐1 + 2𝑐0)

Page 6: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

5

De aquí, multiplicando por 3:

2ℎ0𝑐0 + ℎ0𝑐1= 3

ℎ0(𝑎1 − 𝑎0) − 3𝑓

′(𝑎)

De igual manera tenemos:

𝑓′(𝑏) = 𝑏𝑛 = 𝑏𝑛−1 + ℎ𝑛−1(𝑐𝑛−1 + 𝑐𝑛)

Reemplazando 𝑏𝑛 por su forma en (6’):

𝑓′(𝑏) =1

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1) −

ℎ𝑛−1

3(𝑐𝑛 + 2𝑐𝑛−1) + ℎ𝑛−1(𝑐𝑛−1 + 𝑐𝑛)

Simplificando:

𝑓′(𝑏) =1

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1) +

ℎ𝑛−1

3(2𝑐𝑛 + 𝑐𝑛−1)

Despejando 𝑐𝑛 y 𝑐𝑛−1:

ℎ𝑛−1𝑐𝑛−1 + 2ℎ𝑛−1𝑐𝑛 = 3𝑓′(𝑏) −3

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1)

Entonces, junto con estas dos ecuaciones podemos definir las condiciones de frontera

del trazador cúbico sujeto solamente reemplazando las condiciones de fronteras en el

sistema para el trazador cúbico natural (primer y segunda fila de la matriz A y primer y

último elemento del vector b del sistema 𝐴𝑥 = 𝑏).

• 2ℎ0𝑐0 + ℎ0𝑐1 = −3𝑓′(𝑎) +

3

ℎ0(𝑎1 − 𝑎0)

• ℎ𝑛−1𝑐𝑛−1 + 2ℎ𝑛−1𝑐𝑛 = 3𝑓′(𝑏) −3

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1)

La matriz del sistema para el trazador cúbico natural es:

𝐴𝑠𝑐𝑛 =

[ 1 0 0 … … …ℎ0 2(ℎ0 + ℎ1) ℎ1 ⋱ ⋮

0 ℎ1 2(ℎ1 + ℎ2) ℎ2 ⋱ ⋮⋮ ⋱ ⋱ ⋱ ⋱ 0⋮ ⋱ ℎ𝑛−2 (2ℎ𝑛−2 + ℎ𝑛−1) ℎ𝑛−10 … … 0 0 1 ]

𝑏𝑠𝑐𝑛 =

[

0

−3

ℎ0(𝑎1 − 𝑎0) +

3

ℎ1(𝑎2 − 𝑎1)

−3

ℎ𝑛−2(𝑎𝑛−1 − 𝑎𝑛−2) +

3

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1)

0 ]

Page 7: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

6

Mientras que el sistema modificado para el trazador cúbico sujeto es:

𝐴𝑠𝑐𝑠 =

[ 2ℎ0 ℎ0 0 … … …ℎ0 2(ℎ0 + ℎ1) ℎ1 ⋱ ⋮0 ℎ1 2(ℎ1 + ℎ2) ℎ2 ⋱ ⋮⋮ ⋱ ⋱ ⋱ ⋱ 0⋮ ⋱ ℎ𝑛−2 (2ℎ𝑛−2 + ℎ𝑛−1) ℎ𝑛−10 … … 0 ℎ𝑛−1 2ℎ𝑛−1]

𝑏𝑠𝑐𝑠 =

[ −3𝑓′(𝑎) +

3

ℎ0(𝑎1 − 𝑎0)

−3

ℎ0(𝑎1 − 𝑎0) +

3

ℎ1(𝑎2 − 𝑎1)

−3

ℎ𝑛−2(𝑎𝑛−1 − 𝑎𝑛−2) +

3

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1)

−3

ℎ𝑛−1(𝑎𝑛 − 𝑎𝑛−1) + 3𝑓

′(𝑏)]

𝑥 = [

𝑐0𝑐1⋮𝑐𝑛

]

El algoritmo para el spline cúbico natural es:

function [a, b, c, d] = spline_cubico_natural(x, f, FPO, FPN)

n=length(x);

h=x(2:n)-x(1:n-1);

A=zeros(n,n);

rhs=zeros(n,1);

A(1,1)=1;

A(1,2)=0;

A(n,n-1)=0;

A(n,n)=1;

for i=2:n-1

A(i,i-1)=h(i-1);

A(i,i+1)=h(i);

A(i,i)=2*(h(i)+h(i-1));

rhs(i)=3*(f(i+1)-f(i))/h(i) -3*(f(i)-f(i-1))/h(i-1);

end

rhs(1)=(3*(f(2)-f(1)))/h(1) - 3*FPO;

rhs(n)=3*FPN-(3*(f(n)-f(n-1)))/h(n-1);

[c]=gauss(A,rhs); for(j=1:n-1)

b(j)=(f(j+1)-f(j))/h(j)-(h(j)*(c(j+1)+2*c(j)))/3 ;

d(j)=(c(j+1)-c(j))/(3*h(j));

a(j)=f(j);

end

endfunction

Page 8: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

7

A continuación, el algoritmo para el spline cúbico sujeto:

function [a, b, c, d] = spline_cubico_sujeto(x, f, FPO, FPN)

n=length(x);

h=x(2:n)-x(1:n-1);

A=zeros(n,n);

rhs=zeros(n,1);

A(1,1)=2*h(1);

A(1,2)=h(1);

A(n,n-1)=h(n-1);

A(n,n)=2*h(n-1);

for i=2:n-1

A(i,i-1)=h(i-1);

A(i,i+1)=h(i);

A(i,i)=2*(h(i)+h(i-1));

rhs(i)=3*(f(i+1)-f(i))/h(i) -3*(f(i)-f(i-1))/h(i-1);

end

rhs(1)=(3*(f(2)-f(1)))/h(1) - 3*FPO;

rhs(n)=3*FPN-(3*(f(n)-f(n-1)))/h(n-1);

[c]=gauss(A,rhs);

for(j=1:n-1)

b(j)=(f(j+1)-f(j))/h(j)-(h(j)*(c(j+1)+2*c(j)))/3 ;

d(j)=(c(j+1)-c(j))/(3*h(j));

a(j)=f(j);

end

endfunction

Ver que ambos algoritmos resuelven un SEAL sin pivoteo usando la función gauss,

explicitada en el TP2.

Se procede ahora a aplicar el algoritmo al problema concreto del brazo robot. Las

condiciones dadas para el movimiento del brazo nos permiten plantear:

• Para t=0 -> (0,0).

• Para t=1 -> (2,4).

• Para t=2 -> (6,6).

• Para t=3 -> (3,2).

• Para t=4 -> (0,0).

En la función, FP0=FPN=0 debido a que el brazo robot parte del reposo tanto en el punto

inicial como en el punto final (es decir, velocidad cero).

Debemos plantear las ecuaciones de trayectoria tanto para x(t) como para y(t), por lo

que necesitamos encontrar los trazadores cúbicos de cada trayectoria.

Para x(t):

t x(t)

0 0

1 2

2 6

3 3

Page 9: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

8

4 0

Aplicando la función spline_cubico_sujeto a cada tramo, obtendremos los coeficientes

de los polinomios interpoladores que aproximaran dicho trayecto. Como el brazo robot

realiza dos tramos t1 y t2, deberemos aplicar la función dos veces con t1 = [0, 1, 2] y t2

= [2, 3, 4] obteniendo dos coeficientes a, dos coeficientes b, tres coeficientes c (donde

el último es necesario para calcular los otros coeficientes y queda descartado) y dos

coeficientes d por cada tramo.

Los polinomios obtenidos para x(t) son:

𝑥(𝑡)

{

0 + 0𝑡 + 1,5𝑡2 + 0,5𝑡3

2 + 4,5(𝑡 − 1) + 3(𝑡 − 1)2 − 3,5(𝑡 − 1)3

6 + 0𝑡 − 4,5𝑡2 + 1,5𝑡3

3 − 4,5(𝑡 − 1) + 0(𝑡 − 1)2 + 1,5(𝑡 − 1)3

[0,1][1,2][2,3][3,4]

Finalmente, implemento una función graficadora graficar_pol la cual recibe como

parámetros los coeficientes a, b, c, d y el vector de tiempos t y grafica los tramos, y

devuelve un vector con los valores de x resultantes, los cuales se utilizarán para trazar

la gráfica x vs y.

La gráfica resultante es la siguiente:

Page 10: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

9

Para y(t):

t y(t)

0 0

1 4

2 6

3 2

4 0

Realizando el mismo proceso mencionado anteriormente, el cual implementa la función

spline_cubico_sujeto, obtengo los coeficientes correspondientes a ambos tramos de

y(t). Los polinomios obtenidos son:

𝑥(𝑡)

{

0 + 0𝑡 + 7,5𝑡2 − 3,5𝑡3

4 + 4,5(𝑡 − 1) − 3(𝑡 − 1)2 + 0,5(𝑡 − 1)3

6 + 0𝑡 − 7,5𝑡2 + 3,5𝑡3

2 − 4,5(𝑡 − 1) + 3(𝑡 − 1)2 − 0,5(𝑡 − 1)3

[0,1][1,2][2,3][3,4]

Nuevamente aplico la función graficadora graficar_pol dos veces para obtener la gráfica

de y(t) en ambos tramos, obteniendo dos vectores con los valores de y.

A continuación, la gráfica:

Page 11: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

10

Se escogió incluir una gráfica comparativa de las trayectorias de x(t) e y(t), para evaluar

gráficamente su similitud, y obtener conclusiones sobre la forma que tendrá x vs y. Dicha gráfica

es la siguiente:

Como podemos observar, ambas funciones coinciden solamente en (0,0) y en (6,6). Sin

embargo, son relativamente similares, lo cual nos indica una gráfica x vs y con una

tendencia hacia la linealidad.

Finalmente, unificamos los vectores obtenidos para x en un solo vector, y los vectores

obtenidos para y en un solo vector, y hacemos plot(x,y), marcando los puntos

interpolados por los polinomios. Así, obtenemos la siguiente gráfica:

Page 12: INTERPOLACIÓN Y APROXIMACIÓN DE FUNCIONES

Juan Ignacio Ferrer DNI: 35.749.374

11

Esta gráfica refleja una aproximación del movimiento que realiza el brazo robot en el

plano xy. Este movimiento fue solamente aproximado mediante polinomios

interpoladores que pasan por los puntos dados en el enunciado.

Como no contamos con una gráfica real del movimiento del mismo, no podemos realizar

comparaciones o calcular el error de la aproximación, así como tampoco vale la pena

realizar la gráfica aproximada mediante un spline cúbico natural de modo de sacar

conclusiones prácticas acerca de la conveniencia de un método por sobre otro.