1
ractica3.nb
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 esPlot .
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, 8 x, 0, 2 Pi
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,2 p ]. También
pueden
dibujarse
las
gráficas
Plot[{f1,f2,...},{x,xmin,xmax}] Plot@8Sin@xD, Cos@xD<, 8x, 0, 2 Pi
1 -0.5 -1
2
3
4
5
6
de
varias
funciones
al
mismo
tiempo
mediante
2
ractica3.nb
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
1
2
3
4
5
6
-0.5 -1
gr2 = Plot@Cos@xD, 8x, 0, 2 Pi
1
2
3
4
5
6
-0.5 -1
Show @gr1, gr2 D 1 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
1
0.5
0.5 1
2
3
4
5
6
1
-0.5
-0.5
-1
-1
O bien por columnas
2
3
4
5
6
3
ractica3.nb
@GraphicsArray @88gr1<, 8 gr2<
2
3
4
5
6
1
2
3
4
5
6
-0.5 -1 1 0.5
-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 opción AspectRatio Axes AxesLabel AxesOrigin DisplayFunction Frame FrameLabel FrameTicks GridLines PlotLabel PlotRange Ticks
valor por defecto 1 GoldenRatio Automatic None Automatic $DisplayFunction False None Automatic None None Automatic Automatic
ê
qué hace proporción altura ê anchura Incluir o no los ejes Etiquetas para los ejes Origen de coordenadas Si un gráfico produce salidao no : Identity no produce Dibuja o no un rectángulo alrededor del gráfico Etiquetas para los lados del rectángulo creado porFrame Divisiones para los ejes de coordenadas : None no pone divisiones Crea una malla coordenada en el gráfico Etiqueta identificativa del gráfico El rango de valores que pinta.All pinta todos los valores Divisiones para los ejes de coordenadas : None no pone divisiones
Aquí ponemos un ejemplo en el que se utilizan varias opciones
4
ractica3.nb
Plot@Sin@x ^2 D, 8x, 0, Pi <, Frame Ø True, GridLines Ø Automatic, FrameLabel Ø 8 "x", "y", "Gráfica de sen Hx2 L", None
H L
Gráfica de sen x2 1 0.5 y
0
-0.5 -1 0
0.5
1
1.5 x
2
2.5
3
El mismo gráfico, pero con otras opciones Plot@Sin@x ^2 D, 8x, 0, Pi <, PlotRange Ø 8 0, 1<, PlotLabel -> "Parte positiva de sen Hx2 L", Ticks Ø 88 0, Pi ê 4, Pi ê 2, 3 Pi ê 4, Pi <, 80, 0.25, 0.5, 0.75, 1 <
H L
Parte positiva de sen x2
0.75 0.5 0.25
p ÅÅÅÅ
p ÅÅÅÅ
4
2
3 4
p ÅÅÅÅÅÅÅÅ
p
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 ^2 D, 8x, 0, Pi <, PlotStyle Ø 8 RGBColor @1, 0, 0 D, Thickness @0.01D, Dashing @8.02, .02
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 mediante una lista.
5
ractica3.nb
Plot@8Sin@xD, Cos@xD<, 8x, 0, 2 Pi<, PlotStyle Ø 88RGBColor @1, 0, 0 D, Dashing @80.02, 0.02
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 divisiones 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 introducir 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}] .
6
ractica3.nb
ParametricPlot @8Sin@tD, Cos@tD<, 8t, 0, 2 Pi
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 dePlot, 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
è!!!!!!!!!!!!!!! 1 x .
Ejercicio 5.- Dibujar en cartesianas una circunferencia de radio 1: y=± Ejercicio 6.Cos[t], donde
-
2
La cicloide es una curva cuya definición viene dada en forma paramétrica por: x=t-a Sin[t], y=1-a
es un parámetro. Dibuja varias de estas curvas para diferentes valores de a, con t variando entre 0 y 10p.
a
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 0 , 1 , 2 , ..., n entonces la curva de Bezier viene dada por ⁄nk 0 b@n, k D Pk . Los puntos i se llaman puntos de control y el poligono que detrminan uniendo por rectas los puntos de control se denomina poligono de control =
Aquí damos una función que genera la curva de Bezier correspondiente a un conjunto de puntos dados:
7
ractica3.nb
D := Table@b@Length @puntos D - 1, kD, 8k, 0, Length @puntos D - 1
curva
bezier @881, 0<, 81, 2 ê 3<, 82 ê 3, 1<, 80, 1 <
=
8H1 tL -
3
+
H
L
3 1-t
2
H
L
H
L
t + 2 1 - t t 2 , 2 1 - t
2
H
L
t + 3 1 - t t 2
+
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, 8 t, 0, 1 <, Compiled Ø False, PlotRange Ø AllD, ListPlot @881, 0<, 81, 2 ê 3<, 8 2 ê 3, 1<, 80, 1<<, PlotJoined Ø True DD 1 0.8 0.6 0.4 0.2
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
0.2
0.4
0.6
0.8
1
1 0.8 0.6 0.4 0.2
1 0.8 0.6 0.4 0.2
Ü
Graphics Ü
Las propiedades de la curva de Bezier son (observarlas en el anterior ejemplo): 1.- La curva pasa por P0 y por n . 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.
8
ractica3.nb
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
8 6 4 2
2
3
4
5
6
7
ListPlot @Table @8x, Sin@xD<, 8x, 0, 2 Pi, Pi ê 10
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
8 6 4 2
2
3
4
5
6
7
También se pueden unir los puntos y formar una poligonal
PointSize @0.02DD
->
9
ractica3.nb
ListPlot @Table @8x, Sin@xD<, 8x, 0, 2 Pi, Pi ê 2
TrueD
->
1 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 esPoint[{x,y}] . Para visualizar el punto debemos escribir @Graphics @Point @82, 2
Podemos modificar el tamaño y el color del punto. Por ejemplo Show @Graphics @8PointSize @0.02 D, RGBColor @1, 0, 0 D, Point @82, 2
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.
10
ractica3.nb
@Graphics @Line @881, 0<, 8 0, 3<, 8- 1, 0<, 81, 0<
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. Normalmente 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
2x 3
3 x2 2
7 x3 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 auxiliares, tantos como puntos de interpolación. Así, si {{x0,y0},...,{xn,yn}} es el conjunto de puntos de interpolación, el polinomio auxiliar, que denotamos como L k Hx L, vale 0 para x j , con j!k y 1 para j=k. Una vez obtenidos los polinomios auxiliares, el polinomio de interpolación es simplemente y0
0
(x) + y1 L1 (x) + ... + yn
n
(x).
11
ractica3.nb
* 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, -
H
1+ 1+x
L J2 J
* Ejercicio 14.-
+
3 2
7 6
- ÅÅÅÅ + ÅÅÅÅ
H
-
1+x
-
1<, 8 0, 1<, 81, 0<, 82, 3<<, xD
LN xN
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í, sin=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<, 8 x,
-
5, 5
1 1 1 1 , - 4, ÅÅÅÅÅÅÅ , - 3, ÅÅÅÅÅÅÅ , - 2, ÅÅÅÅ , 26 17 10 5 1 1 1 1 , 0, 1 , 1, ÅÅÅÅ , 2, ÅÅÅÅ , 3, ÅÅÅÅÅÅÅ , - 1, ÅÅÅÅ 2 2 5 10
99 9
-
5,
inter
= 9 = 9 = 9 = 8 < 9 = 9 = 9
ÅÅÅÅÅÅÅ
=
= 94,
1 17
=, 95,
ÅÅÅÅÅÅÅ
1 26
==
ÅÅÅÅÅÅÅ
Interpolation @puntos D
=
@88
InterpolatingFunction
-
<<, D
5, 5
<>
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
[email protected] 0.325
Si queremos dibujar la función
12
ractica3.nb
g1 = Plot @inter @xD, 8 x,
-
5, 5<, PlotStyle
RGBColor @1, 0, 0 DD
Ø
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, 8 x, -1
-
1, 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 interpola 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ónInterpolation . spn = SplineFit @puntos, Cubic D
@
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
13
ractica3.nb
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, g2 D 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 , n ) 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
n k=1
⁄ Hf @x D k
-
yk
L
2
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] .
14
ractica3.nb
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<, 8 1, 0.5<, 82, 0.2<<, 8 1, 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 Ø Identity D g2 = Plot @aprox, 8x,
-
2, 2<, DisplayFunction
@g1, g2, DisplayFunction Show
Identity D
Ø
$DisplayFunction D
Ø
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, Ü
Graphics Ü
-
2, 2<, DisplayFunction
Identity D
Ø
15
ractica3.nb
@g1, g2, DisplayFunction Show
$DisplayFunction D
Ø
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ón4 Exp[-2x^2] lista = Table @8i, 4 Exp@- 2 i ^2D + 0.01 Random @D H- 1L ^Random @Integer, 80, 1
-
1, 1, 0.2
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 , 3.99969<, 80.2, 3.68458<, 80.4, 2.91163<, 80.6, 1.94956<, 80.8, 1.11741<, 81., 0.54004<< -
-
-
-
µ
-
-
17
Escribiremos NonlinearFit @lista, a Exp @- b x^ 2D, x, 8 a, b
1.99528 x 2
-
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., función del tipo a Sin[b x + c] .
0.624666}}
mediante
una