You are on page 1of 15

practica3.

nb 1

Práctica 3
Gráficos, interpolación y aproximación

ü Nota: Los ejercicios que son obligatorios para entregar son los que estan acompañados de *.

1. Gráficos en Mathematica
Mathematica permite construir gráficos tanto tanto de curvas como de superficies a través de diferentes funciones y opciones.
La orden básica para la representación gráfica de una función de una variable es Plot.

La sintaxis elemental de Plot es como sigue:


Plot[f,{x,xmin,xmax}] dibuja f como función de x en [xmin,xmax]

Plot@Sin@xD, 8x, 0, 2 Pi<D

0.5

1 2 3 4 5 6

-0.5

-1

La orden anterior dibuja el gráfico de la función Sin[x] como función de x en el intervalo [0,2p].

También pueden dibujarse las gráficas de varias funciones al mismo tiempo mediante
Plot[{f1,f2,...},{x,xmin,xmax}]

Plot@8Sin@xD, Cos@xD<, 8x, 0, 2 Pi<D

0.5

1 2 3 4 5 6

-0.5

-1
practica3.nb 2

También pueden visualizarse de forma conjunta varios gráficos mediante la función Show. Así, Show[gr1,gr2,...]
muestra los gráficos gr1, gr2,...

gr1 = Plot@Sin@xD, 8x, 0, 2 Pi<D

0.5

1 2 3 4 5 6

-0.5

-1

gr2 = Plot@Cos@xD, 8x, 0, 2 Pi<D

0.5

1 2 3 4 5 6

-0.5

-1

Show@gr1, gr2D

0.5

1 2 3 4 5 6
-0.5

-1

Varios gráficos pueden disponerse en forma de tabla mediante GraphicsArray. Se pueden poner por filas

Show@GraphicsArray@8gr1, gr2<DD

1 1
0.5 0.5

1 2 3 4 5 6 1 2 3 4 5 6
-0.5 -0.5
-1 -1

O bien por columnas


practica3.nb 3

Show@GraphicsArray@88gr1<, 8gr2<<DD

0.5

1 2 3 4 5 6
-0.5

-1

0.5

1 2 3 4 5 6
-0.5

-1

ü Opciones

Cuando Mathematica dibuja un gráfico debe realizar una serie de elecciones de forma automática. Por ejemplo, la escala a
utilizar, cómo poner los ejes, qué parte de la gráfica mostrar (toda o parte), etc.. La mayoría de las veces la elección por
defecto de Mathematica es satisfactoria. Sin embargo, si queremos que el gráfico se ajuste a lo que nosotros queremos
seguramente tendremos que ayudar a Mathematica. Esto lo podemos hacer especificando opciones para el gráfico. Las
opciones tienen un nombre específico y son argumentos de la función que se añaden al final con la sintaxis:
Opción->valor. Cuando no se especifica nada, Mathematica asume el valor por defecto.

Algunas de las opciones de la función Plot son las siguientes

1 ê GoldenRatio proporción altura ê anchura


opción valor por defecto qué hace
AspectRatio
Axes Automatic Incluir o no los ejes
AxesLabel None Etiquetas para los ejes
AxesOrigin Automatic Origen de coordenadas
DisplayFunction $DisplayFunction Si un gráfico produce salida o no : Identity no produce
Frame False Dibuja o no un rectángulo alrededor del gráfico
FrameLabel None Etiquetas para los lados del rectángulo creado por Frame
FrameTicks Automatic Divisiones para los ejes de coordenadas : None no pone divisiones
GridLines None Crea una malla coordenada en el gráfico
PlotLabel None Etiqueta identificativa del gráfico
PlotRange Automatic El rango de valores que pinta. All pinta todos los valores
Ticks Automatic Divisiones para los ejes de coordenadas : None no pone divisiones

Aquí ponemos un ejemplo en el que se utilizan varias opciones


practica3.nb 4

Plot@Sin@x ^ 2D, 8x, 0, Pi<, Frame Ø True, GridLines Ø Automatic,


FrameLabel Ø 8"x", "y", "Gráfica de senHx2 L", None<D

Gráfica de senHx2 L
1

0.5

y 0

-0.5

-1
0 0.5 1 1.5 2 2.5 3
x

El mismo gráfico, pero con otras opciones

Plot@Sin@x ^ 2D, 8x, 0, Pi<, PlotRange Ø 80, 1<, PlotLabel -> "Parte positiva de senHx2 L",
Ticks Ø 880, Pi ê 4, Pi ê 2, 3 Pi ê 4, Pi<, 80, 0.25, 0.5, 0.75, 1<<D
Parte positiva de senHx2 L
1

0.75

0.5

0.25

p p 3p p
ÅÅÅÅ ÅÅÅÅ ÅÅÅÅÅÅÅÅ
4 2 4

Otras opciones interesantes son PlotStyle, que indica el estilo que debe utilizarse para dibujar la función (color, tipo de
trazo, ...) y PlotPoints, que indica el número de puntos en el que se evalúa la función para producir el gráfico. Por defecto
PlotPoints es 20, que en la mayoría de los casos es suficiente. Cuanto mayor sea el valor de PlotPoints mejor será la
representación que obtengamos de la función, pero también mayor el tiempo de espera para obtener la salida gráfica.

Aquí tenemos un ejemplo en el que se especifica el estilo del trazo de la función.

Plot@Sin@x ^ 2D, 8x, 0, Pi<,


PlotStyle Ø 8RGBColor@1, 0, 0D, Thickness@0.01D, Dashing@8.02, .02<D<D

0.5

0.5 1 1.5 2 2.5 3

-0.5

-1

Si tenemos una lista de funciones que queremos pintar, se puede especificar para cada una de ellas el estilo del trazo medi-
ante una lista.
practica3.nb 5

Plot@8Sin@xD, Cos@xD<, 8x, 0, 2 Pi<, PlotStyle Ø


88RGBColor@1, 0, 0D, Dashing@80.02, 0.02<D<, 8RGBColor@0, 1, 0D, Thickness@0.01D<<D

0.5

1 2 3 4 5 6

-0.5

-1

Ejercicio 1.- Dibujar la gráfica de la familia de funciones Sin[k x], Cos[k x], para x entre 0 y 2p, con k=1,2,3. Formar
una tabla en la que en la primera fila estén las gráficas de los senos y en la segunda la de los cosenos. Utilizar un color
diferente para cada gráfica.

Ejercicio 2.- Al dibujar la gráfica de la función 100 Exp[-x^2] entre -5 y 5, no aparece representada toda la función.
Añade opciones para que se vea toda la gráfica de la función.

Ejercicio 3.- Dibuja la función x^3-1 entre -1 y 1. ¿Donde se cortan los ejes de coordenadas? ¿Aparece el dibujo
de toda la función? Añade opciones para que aparezca todo el dibujo y el origen de coordenadas esté en el punto {-1,-2}.

Ejercicio 4.- Al dibujar la función Exp[x] entre 0 y 3, la proporción entre la escala de los ejes no es adecuada.
Modifica la escala para que se parezca más al aspecto que realmente tiene la función. De paso, pon en el eje x las divi-
siones 0, 1, 2, 3.

ü Gráficos en paramétricas

A veces una función puede ponerse en forma paramétrica, es decir, en lugar de tener y=f(x), lo que tenemos es x=x(t),
y=y(t), con t variando en un cierto intervalo. El ejemplo más conocido es el de la circunferencia.

La ecuación de una circunferencia de centro el origen y radio R es de la forma: x2 + y2 = R2 . Sin embargo, podemos intro-
ducir un parámetro t, de forma que
x = R Sin[t], y = R Cos[t],
con t perteneciente al intervalo [0,2p]. Cuando una curva viene dada en forma paramétrica usamos la función
ParametricPlot[{x[t],y[t]},{t,tmin,tmax}].
practica3.nb 6

ParametricPlot@8Sin@tD, Cos@tD<, 8t, 0, 2 Pi<D


1

0.5

-1 -0.5 0.5 1

-0.5

-1

Como se ve la salida parece más una elipse que una circunferencia. Esto es por la opción por defecto de la proporción entre
altura y anchura. Teniendo en cuenta que las opciones de esta función son las mismas que las de Plot, mejoramos el aspecto
de la salida como sigue

ParametricPlot@8Sin@tD, Cos@tD<, 8t, 0, 2 Pi<, AspectRatio -> 1D


1

0.5

-1 -0.5 0.5 1

-0.5

-1

Ejercicio 5.- Dibujar en cartesianas una circunferencia de radio 1: y=±è!!!!!!!!


!!!!!!!
1 - x2 .

Ejercicio 6.- La cicloide es una curva cuya definición viene dada en forma paramétrica por: x=t-a Sin[t], y=1-a
Cos[t], donde a es un parámetro. Dibuja varias de estas curvas para diferentes valores de a, con t variando entre 0 y 10p.

Un ejemplo de curvas en paramétricas son las curvas de Bezier. No se trata de curvas de interpolacion ya que no pasan por
todos los puntos dados. Las curvas de Bezier son una vombinacion lineal de los polinomios de Bernstein. Estos polinomios se
denotan B[n,k], con k desde 0 hasta n, y están definidos como

b@n_, k_D := Binomial@n, kD t^ k H1 - tL ^ Hn - kL

Para definir una curva de Bezier necesitamos n+1 puntos P0 , P1 , P2 , ..., Pn entonces la curva de Bezier viene dada por
⁄nk=0 b@n, kD Pk .
Los puntos Pi se llaman puntos de control y el poligono que detrminan uniendo por rectas los puntos de control se denom-
ina poligono de control

Aquí damos una función que genera la curva de Bezier correspondiente a un conjunto de puntos dados:
practica3.nb 7

bezier@puntos_D := Table@b@Length@puntosD - 1, kD, 8k, 0, Length@puntosD - 1<D .puntos

curva = bezier@881, 0<, 81, 2 ê 3<, 82 ê 3, 1<, 80, 1<<D

8H1 - tL3 + 3 H1 - tL2 t + 2 H1 - tL t2 , 2 H1 - tL2 t + 3 H1 - tL t2 + t3 <

El siguiente comando nos dibuja la curva de Bezier, el poligono de control (algunos lados pueden estar tapados pos las
coordenadas) y ambas juntas.

Show@ParametricPlot@curva, 8t, 0, 1<, Compiled Ø False, PlotRange Ø AllD,


ListPlot@881, 0<, 81, 2 ê 3<, 82 ê 3, 1<, 80, 1<<, PlotJoined Ø TrueDD
1

0.8

0.6

0.4

0.2

0.2 0.4 0.6 0.8 1


1

0.8

0.6

0.4

0.2

0.2 0.4 0.6 0.8 1


1

0.8

0.6

0.4

0.2

0.2 0.4 0.6 0.8 1

Ü Graphics Ü

Las propiedades de la curva de Bezier son (observarlas en el anterior ejemplo):


1.- La curva pasa por P0 y por Pn . Ademas en estos puntos la curva de Bezier es tangente al poligono de control.
2.- La curva esta contenida en la clausura convexa del poligono de control, cuya forma sigue aproximadamente.

Ejercicio 7.- Dado el polígono de control {{1,0},{1,2/3},{x,y},{0,1}}, modifica el punto que queda libre y observa
las propiedades anteriores en las correspondientes curvas de Bezier.
* Ejercicio 8.- Calcular y dibujar la curva de Bezier cubica con puntos de control P1=(100,100), P2=(50,150),-
P3=(200,150),P4=(50,50),P5=(100,200),P6=(50,100) y P7=(200,100), empalmando para ello dos curvas de Bezier de
grado tres (ayuda: emplear dos conjuntos de puntos de control {P1,P2,P3,P4} y {P4,P5,P6,P7}. Una vez calculadas
ambas curvas de Bezier cubicas realizar el dibujo de ambas usando el comando Show[ ])
practica3.nb 8

Ejercicio 7.- Dado el polígono de control {{1,0},{1,2/3},{x,y},{0,1}}, modifica el punto que queda libre y observa
las propiedades anteriores en las correspondientes curvas de Bezier.
* Ejercicio 8.- Calcular y dibujar la curva de Bezier cubica con puntos de control P1=(100,100), P2=(50,150),-
P3=(200,150),P4=(50,50),P5=(100,200),P6=(50,100) y P7=(200,100), empalmando para ello dos curvas de Bezier de
grado tres (ayuda: emplear dos conjuntos de puntos de control {P1,P2,P3,P4} y {P4,P5,P6,P7}. Una vez calculadas
ambas curvas de Bezier cubicas realizar el dibujo de ambas usando el comando Show[ ])

ü Representación de puntos en el plano

Hay dos formas de representar puntos en el plano. La primera de ellas es mediante la función ListPlot. Por ejemplo,
ListPlot[{y1,y2,...}] , dibuja la colección de puntos cuya coordenada x es 1, 2, ... y cuya coordenada y es la de la
lista. ListPlot[{{x1,y1},{x2,y2},...}] pinta los puntos cuyas coordenadas están especificadas en la lista.

ListPlot@Table@x ^ 2, 8x, -3, 3<DD

2 3 4 5 6 7

ListPlot@Table@8x, Sin@xD<, 8x, 0, 2 Pi, Pi ê 10<DD

0.5

1 2 3 4 5 6

-0.5

-1

ListPlot admite opciones igual que Plot (muchas de ellas las mismas). Se puede cambiar el tamaño de los puntos

ListPlot@Table@x ^ 2, 8x, -3, 3<D, PlotStyle -> PointSize@0.02DD

2 3 4 5 6 7

También se pueden unir los puntos y formar una poligonal


practica3.nb 9

ListPlot@Table@8x, Sin@xD<, 8x, 0, 2 Pi, Pi ê 2<D, PlotJoined -> TrueD

0.5

1 2 3 4 5 6

-0.5

-1

Ejercicio 9.- Utiliza ListPlot para dibujar un cuadrado centrado en el origen y cuyo lado valga 2.

La otra forma de dibujar puntos en el plano es mediante una primitiva de gráficos. Esta es Point[{x,y}]. Para visualizar el
punto debemos escribir

Show@Graphics@Point@82, 2<DDD

Podemos modificar el tamaño y el color del punto. Por ejemplo

Show@Graphics@8PointSize@0.02D, RGBColor@1, 0, 0D, Point@82, 2<D<DD

Ejercicio 10.- Dibuja los vértices de un cuadrado usando Point. Pinta un vértice de cada color.

Existen otras funciones primitivas de gráficos. Line[{{x1,y1},{x2,y2},...}] dibuja la poligonal definida por los
puntos.
practica3.nb 10

Show@Graphics@Line@881, 0<, 80, 3<, 8-1, 0<, 81, 0<<DDD

Ejercicio 11.- Dibuja, usando Line, la poligonal definida por los puntos de la tabla Table[{x,Sin[x]},{x,0,6,.4}].

Interpolación
El problema de interpolación básico consiste en encontrar una función que pase por un conjunto de puntos dado. Normal-
mente la interpolación es polinómica, es decir, se busca un polinomio que pase por cada uno de los puntos del conjunto de
interpolación.

No es difícil demostrar que para un conjunto de n+1 puntos existe un único polinomio de grado n que los interpola. Este
polinomio recibe el nombre de polinomio de interpolación y puede calcularse de diversas maneras. La primera de ellas es a
través del sistema de ecuaciones que resulta al exigir las condiciones de interpolación.

Por ejemplo, si queremos interpolar el conjunto de puntos {{-1,-1},{0,1},{1,0},{2,3}}, buscamos un polinomio de tercer grado
a x^3+b x^2+c x+ d que pase por todos ellos. De este modo podemos plantear las siguientes cuatro ecuaciones

eq1 = -a + b - c + d == -1;
eq2 = d == 1;
eq3 = a + b + c + d == 0;
eq4 = 8 a + 4 b + 2 c + d == 3;

que resueltas nos dan el polinomio de interpolación

poli = a x ^ 3 + b x ^ 2 + c x + d ê. Flatten@Solve@8eq1, eq2, eq3, eq4<, 8a, b, c, d<DD

2x 3 x2 7 x3
1 - ÅÅÅÅÅÅÅÅ - ÅÅÅÅÅÅÅÅÅÅ + ÅÅÅÅÅÅÅÅÅÅ
3 2 6

* Ejercicio 12.- Comprueba, por sustitución y gráficamente, que el polinomio anterior interpola al conjunto de
puntos. (utiliza colores en los puntos o mayor tamaño para poder verlos)

Otra manera de calcular este polinomio es mediante la forma de Lagrange. Esta consiste en calcular unos polinomios auxilia-

polinomio auxiliar, que denotamos como Lk HxL, vale 0 para xj , con j≠k y 1 para j=k. Una vez obtenidos los polinomios
res, tantos como puntos de interpolación. Así, si {{x0,y0},...,{xn,yn}} es el conjunto de puntos de interpolación, el

auxiliares, el polinomio de interpolación es simplemente


y0 L0 (x) + y1 L1 (x) + ... + yn Ln (x).
practica3.nb 11

* Ejercicio 13.- Construir el polinomio de interpolación en la forma de Lagrange para el conjunto de puntos
{{-1,-1},{0,1},{1,0},{2,3}}. Comprueba que obtienes el mismo polinomio que resolviendo el sistema.

La tercera de las maneras en que puede construirse el polinomio de interpolación es mediante la forma de Newton. Este
método está basado en la construcción de la tabla de las llamadas diferencias divididas, a partir de la cual se puede calcular,
de forma recursiva, el polinomio de interpolación. Esta forma de presentar el polinomio de interpolación es la que usa
Mathematica mediante la función InterpolatingPolynomial[datos,va]. Aquí, va representa la variable del polinomio.

InterpolatingPolynomial@88-1, -1<, 80, 1<, 81, 0<, 82, 3<<, xD

-1 + H1 + xL J2 + J- ÅÅÅÅ + ÅÅÅÅ H-1 + xLN xN


3 7
2 6

* Ejercicio 14.- Comprueba (a mano) que -1, 2, -3/2, 7/6 son los valores de la tabla de diferencias divididas que se
necesitan para construir el polinomio de interpolación en la forma de Newton (observa que aparecen en el anterior
polinomio). Comprueba, también, que es el mismo polinomio obtenido anteriormente.

Ejercicio 15.- Interpola la función Sin[x] entre 0 y p/2 mediante un polinomio de cuarto grado en puntos igualmente
espaciados (crea los puntos con Table[ ]utiliza N[ ] para aproximarlo) .

Existen otras funciones en Mathematica que proporcionan interpolación polinomial, pero a trozos. La primera de ellas es
Interpolation[puntos,InterpolationOrder->n] , que produce una función de interpolación a trozos con polinomios
de grado n. Esta función no es un Spline, pues no presenta condiciones de suavidad. Así, si n=2, el trozo que interpola en
[xk ,xk+1 ] es el polinomio de grado 2 que interpola en xk , xk+1 , xk+2 . Si no se especifica el orden de interpolación se toma
por defecto 3.

Veamos el siguiente ejemplo

puntos = Table@8x, 1 ê H1 + x ^ 2L<, 8x, -5, 5<D

99-5, ÅÅÅÅÅÅÅ =, 9-4, ÅÅÅÅÅÅÅ =, 9-3, ÅÅÅÅÅÅÅ =, 9-2, ÅÅÅÅ =,


1 1 1 1

9-1, ÅÅÅÅ =, 80, 1<, 91, ÅÅÅÅ =, 92, ÅÅÅÅ =, 93, ÅÅÅÅÅÅÅ =, 94, ÅÅÅÅÅÅÅ =, 95, ÅÅÅÅÅÅÅ ==
26 17 10 5
1 1 1 1 1 1
2 2 5 10 17 26

inter = Interpolation@puntosD

InterpolatingFunction@88-5, 5<<, <>D

La salida es una función que toma valores en el intervalo [-5,5]. Puede evaluarse como si de una función ordinaria se
tratara. Así, si queremos calcular el valor de esta función en 1.5 escribimos

inter@1.5D

0.325

Si queremos dibujar la función


practica3.nb 12

g1 = Plot@inter@xD, 8x, -5, 5<, PlotStyle Ø RGBColor@1, 0, 0DD


1

0.8

0.6

0.4

0.2

-4 -2 2 4

Aunque el aspecto de la gráfica es suave una inspección detallada nos dice que no lo es, como se refleja en el pico que
aparece en x=0.

Plot@inter@xD, 8x, -1, 1<D

-1 -0.5 0.5 1

0.9

0.8

0.7

0.6

0.5

Para construir verdaderos Splines hay que cargar un Package. En concreto se trata de SplineFit.

<< NumericalMath`SplineFit`

La función que debemos usar es SplineFit[puntos, tipo], donde se genera un Spline del tipo especificado que inter-
pola el conjunto de puntos. El tipo de Spline puede ser: Cubic, CompositeBezier y Bezier. Usando Cubic se obtiene el
Spline cúbico natural que interpola el conjunto de punots. Con Bezier se obtiene la curva de Bezier cuyo polígono de
control es el dado por puntos. Usando CompositeBezier se genera una curva de Bezier a trozos, cada una de las cuales es
cúbica, alternando puntos de interpolación y puntos de control.

Veamos la interpolación Spline del conjunto de puntos usado anteriormente cuando se vio la función Interpolation.

spn = SplineFit@puntos, CubicD

SplineFunction@Cubic, 80., 10.<, <>D

El resultado es una función de interpolación en paramétricas. Se evalúa de la misma manera que la función de interpolación
producida por Interpolation.

spn@5D

80, 1<

Si queremos dibujar la función


practica3.nb 13

g2 = ParametricPlot@spn@tD, 8t, 0, 10<, Compiled Ø FalseD


1

0.8

0.6

0.4

0.2

-4 -2 2 4

Podemos comparar el resultado obtenido con el producido por Interpolation que, como se aprecia, no es el mismo.

Show@g1, g2D
1

0.8

0.6

0.4

0.2

-4 -2 2 4

* Ejercicio 16.- Dada la función f[x]=Exp[-x^2], generar un conjunto de 5 puntos igualmente espaciados entre -2 y
2 e interpolarla en ese conjunto a) mediante su polinomio de interpolación, b) mediante interpolación polinómica a trozos
de grado 3 producida por Interpolation , c) mediante un spline cúbico natural. ¿Cuál de las tres interpolaciones produce
menos error? (verlo mediante graficas que las compare con Exp[-x^2])

Aproximación
Dado un conjunto de puntos (x1 ,y1 ), (x2 ,y2 ), ..., (xn ,yn ) se trata de buscar una función f[x], que aproxime al
cionjunto de puntos en el sentido de que el error cuadrático definido como

⁄nk=1 Hf@xk D - yk L2
sea mínimo (aproximación por mínimos cuadrados). La función f[x] debe ser definida por el que realiza el ajuste. En este
sentido, podemos hablar de diferentes tipos de aproximación. La usual es cuando f[x] es combinación lineal de un conjunto
de funciones que forman la base de funciones de aproximación. En general esta base está constituida por polinomios. Así,, si
la base son las funciones 1, x, x^2, entonces f[x] es de la forma a + b x + c x^2 y determinar f es lo mismo que
determinar a, b y c. Para este tipo de aproximación se usa la función Fit[datos, basefunciones, variable].
practica3.nb 14

Por ejemplo, si queremos aproximar el conjunto de puntos (-2, 0.2), (-1, 0.5), (0, 1), (1, 0.5), (2, 0.2) por un polinomio de
segundo grado escribimos

aprox = Fit@88-2, 0.2<, 8-1, 0.5<, 80, 1<, 81, 0.5<, 82, 0.2<<, 81, x, x ^ 2<, xD

0.794286 - 1.94289 µ 10-18 x - 0.157143 x2

Para ver el ajuste pintamos tanto el conjunto de puntos como la función de aproximación

g1 = ListPlot@88-2, 0.2<, 8-1, 0.5<, 80, 1<, 81, 0.5<, 82, 0.2<<,
PlotStyle Ø PointSize@0.02D, DisplayFunction Ø IdentityD

g2 = Plot@aprox, 8x, -2, 2<, DisplayFunction Ø IdentityD

Show@g1, g2, DisplayFunction Ø $DisplayFunctionD


1

0.8

0.6

0.4

0.2

-2 -1 1 2

* Ejercicio 17.- Aproximar el conjunto de puntos anterior mediante funciones triginométricas 1, Sin[x] y Cos[x].

* Ejercicio 18.- Si aumentas la base polinómica en el ejemplo anterior hasta x4 , entonces obtienes el polinomio de
interpolación ¿Por que obtienes este resultado?.

Ü Graphics Ü

g2 = Plot@aprox, 8x, -2, 2<, DisplayFunction Ø IdentityD

Ü Graphics Ü
practica3.nb 15

Show@g1, g2, DisplayFunction Ø $DisplayFunctionD


1

0.8

0.6

0.4

0.2

-2 -1 1 2

Ü Graphics Ü

Si lafunción de aproximación f[x] responde a otras características, entonces el problema no puede resolverse con Fit. En
este caso se usa la función NonlinearFit que se encuentra dentro de los paquetes estadísticos

<< Statistics`NonlinearFit`

La estructura de la función es NonlinearFit[datos, función, variables, parámetros] . Por ejemplo, vamos a


aproximar el siguiente conjunto de datos obtenido mediante ligeras perturbaciones de la función 4 Exp[-2x^2]

Table@8i, 4 Exp@-2 i ^ 2D + 0.01 Random@D H-1L ^ Random@Integer, 80, 1<D<, 8i, -1, 1, 0.2<D
lista =

88-1, 0.551271<, 8-0.8, 1.10427<, 8-0.6, 1.95177<, 8-0.4, 2.90262<,


8-0.2, 3.69139<, 85.55112 µ 10-17 , 3.99969<, 80.2, 3.68458<,
80.4, 2.91163<, 80.6, 1.94956<, 80.8, 1.11741<, 81., 0.54004<<

Escribiremos

NonlinearFit@lista, a Exp@-b x ^ 2D, x, 8a, b<D


2
3.99748 ‰-1.99528 x

Ejercicio 19.- Aproximar el conjunto de puntos {{-1,0.563994},{-0.8,1.01831},{-0.6,1.89966},{-0.4,2.9617},


{-0.2,3.66894},{0.,3.96627},{0.2,3.64717},{0.4,2.92127},{0.6,1.965},{0.8,1.0344},{1., 0.624666}} mediante una
función del tipo a Sin[b x + c].

You might also like