Matlab - Expresar una variable en formato bank. Matlab

   
Vista:

Expresar una variable en formato bank. Matlab

Publicado por Joaquín (9 intervenciones) el 02/04/2011 08:24:10
Hola

Estoy programando en análisis numérico, y por ejemplo en un programa, que tengo que calcular el polinomio interpolador, me muestra en pantalla polinomios tal que:

(8*x^2)/3 - (11560683039222997*x)/1688849860263936 + 4805283598167253/1125899906842624

Y quería que me los expresara en formato bank con dos decimales.

Pongo un ejemplo mínimo compilable para que se me entienda:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc;
clear;

syms x

format bank
P=1;
for i=1:10
P=(P*(3*i+i^3)/i^2)*x;
end

disp(P)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


Y me da de resultado (4343185756*x^10)/75 y yo lo que quiero es que el resultado me lo exprese con dos cifras decimales sin quebrados...

He intentado meter por el código format bank pero no surge efecto deseado.

¿Alguna idea? muchas 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

Expresar una variable en formato bank. Matlab

Publicado por Jorge (226 intervenciones) el 05/04/2011 09:34:26
Puedes utilizar la función sym2poly para obtener un vector con los valores numéricos del polinomio, Y puedes seguir trabajando con esos números.

Si a tu código le añades la línea

c = sym2poly(P)

Matlab te dará un polinomio de orden 10, cuyo primer elemento es 57909143.41, y los otros elementos son 0, naturalmente.

Si quieres, puedes volver a mostrar el resultado en string, así
[num2str(c(1)) 'x^' num2str(length(c)-1)]

en fin, hay maneras de convertir de string a número y viceversa...
Saludos,
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