Matlab - Crear polinomio

 
Vista:

Crear polinomio

Publicado por Ale (4 intervenciones) el 29/08/2007 18:21:56
Hola,

alguien se acuerda de la funcion que te calcula un polinomio que pase por los puntos que le indiques en el vector? Creo recordar que habia una, pero no me acuerdo cual. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear polinomio

Publicado por Ale (4 intervenciones) el 29/08/2007 18:32:56
bueno, que se me ha olvidado decirlo. Lo que realmente quiero hacer es calcular el area que cubre el vector de puntos, como si se tratase de la integral definida de una funcion. He estado buscando alguna funcion que haga esto pero no lo he encontrado, asi que pense en hacer lo que dije en el mensaje anterior.
Si conoceis alguna funcion que haga o bien esto ultimo que he dicho o lo de mi primer mensaje, por favor, decidmelo. Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Crear polinomio

Publicado por Raúl Santiago (211 intervenciones) el 29/08/2007 19:09:40
para aproximar puntos a polinomio está
polyfit
ya luego haces con el polinomio que tengas la integral bajo la curva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear polinomio

Publicado por fismat (391 intervenciones) el 30/08/2007 17:46:37
Hola Ale

te muestro un ejemplo de la manera de encontrar la función de la forma y = ax + b que mejor se ajuste a los datos.
Como se trata de una función polinómica se puede hacer directamente.
Introducimos primero la tabla de valores en dos variables:

>>x=[1 2 3 4]
>>y=[2.1 4.3 6 7.8]

El comando a utilizar es polyfit(x,y,n), donde n es el grado del polinomio que queremos obtener.
Por lo tanto para obtener una recta n = 1:

>>c=polyfit(x,y,1)

Que nos da como resultado los coeficientes de la recta:

c =
1.8800 0.3500

Es decir, que la recta que hemos encontrado es,

y = 1.88 x + 0.35

Para representar la información obtenida graficamente:
Primero dibujamos la tabla de valores, por ejemplo:

>>plot(x,y,'*')

De esta forma conseguimos que dibuje solo los puntos, con asteriscos o con cualquier otro formato.

Para dibujar la recta, lo hacemos como para dibujar cualquier función. Generamos una tabla, (que llamaremos con un nombre diferente de x para no borrar la tabla de los datos del problema):

>>xp=linspace(1,4,20);

Para para calcular los valores de xp en la recta y = 1.88x + 0.35 podemos utilizar el comando polyval que evalua el polinomio utilizando los coeficientes, que teniaamos en la variable c:

>>yp=polyval(c,xp);

>>hold on % para mantener el dibujo anterior.

plot(xp,yp)

Saludos
Fismat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear polinomio

Publicado por Ale (4 intervenciones) el 30/08/2007 19:44:36
Muchisimas gracias, creo que va a servir para lo que prerendia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar