Matlab - Ayuda coeficientes de un polinomio

   
Vista:

Ayuda coeficientes de un polinomio

Publicado por Juan José (60 intervenciones) el 23/05/2014 11:54:58
Hola amigos,

Les escribo un programa el cual realiza el polinomio de taylor para una función de dos variables. Resulta que tengo una función la cual es un poco grande y compleja. Mi idea es obtener algo de esta manera (linealizarla para poder obtener los coeficientes):

Constante*x + CONSTANTE*y + Térm. Indep. = 0

PROGRAMA:
clear;
clf;
syms x y
disp(' ')
disp(' ')
funcion=input('Escribe la función de dos variables con x e y como variables independientes:\n Función:');
puntoX=input('Abcisa del punto: ');
puntoY=input('Ordenada del punto: ');
disp(' ')
fx=diff(funcion,x);
fy=diff(funcion,y);
fxx=diff(fx,x);
fxy=diff(fx,y);
fyy=diff(fy,y);
fab=subs(funcion,{x y},{puntoX,puntoY});
fxab=subs(fx,{x y},{puntoX,puntoY});
fyab=subs(fy,{x y},{puntoX,puntoY});
fxxab=subs(fxx,{x y},{puntoX,puntoY});
fxyab=subs(fxy,{x y},{puntoX,puntoY});
fyyab=subs(fyy,{x y},{puntoX,puntoY});
taylorVar=fab+fxab*(x-puntoX)+fyab*(y-puntoY)+1/2*(fxxab*(x-puntoX)^2+fyyab*(y-puntoY)^2+2*fxyab*(x-puntoX)*(y-puntoY));
disp('--------------------------------------------------------------')
disp(' ');
disp(['El polinomio de Taylor de grado 2 centrado en el punto: (' num2str(puntoX) ',' num2str(puntoY) ') es: '])
pretty(taylorVar)
disp(' ')

El resultado del programa es:

Escribe la función de dos variables con x e y como variables independientes:
Función:(1/pi)*(1/(cos((x-y)/x)))-(((x-y)*sqrt(2*x*y-y^2))/(pi*x^2))
Abcisa del punto: 275
Ordenada del punto: 137.5

--------------------------------------------------------------

El polinomio de Taylor de grado 2 centrado en el punto: (275,137.5) es:

(Adjunto una imagen que aquí los números se solapan y es un mareo)
(Adjunto el código también)


¿Alguien sabe si matlab puede y cómo se haría el desarrollo del polinomio??
Es decir, quiero encontrar los coeficientes que acompañan a x e y, por eso quiero la ecuación de la forma:


Constante*x + CONSTANTE*y + Térm. Indep. = 0

Muchas gracias y un saludo
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Ayuda coeficientes de un polinomio

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3431 intervenciones) el 25/05/2014 23:31:09
1
vpa(taylorVar,4)




Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Ayuda coeficientes de un polinomio

Publicado por Juan José (60 intervenciones) el 26/05/2014 13:19:37
Muchas Gracias por la ayuda Jose,

He estado leyendo acerca de la variable de precisión aritmética y resulta bastante útil para simplificar la forma fraccionada de cómo el código te devuelve el resultado. Escribo el resultado:

vpa(taylorVar,4)

ans =

0.02614*x - 0.05227*y - 0.5*(15.38*x - 4.229)*(y - 0.1375) + 1.875*(x - 0.275)^2 + 7.88*(y - 0.1375)^2 + 0.2249

De todas maneras, aún queda algún producto que todavía puede ser desarrollado, eso podría hacerlo matlab?

Gracias y un saludo
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

Ayuda coeficientes de un polinomio

Publicado por Juan José (60 intervenciones) el 26/05/2014 13:57:13
Escribo la solución para que pueda servirle a los demás.

vpa((simplify(taylorVar)),4)

ans =

1.875*x^2 - 7.69*x*y + 0.05227*x + 7.88*y^2 - 0.1045*y + 0.2249

El comando simplify que trabaja con variables simbólicas, desarrolla la ecuación al máximo.

Gracias y un saludo
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