Você está na página 1de 2

function [p] = ajusteCurvas20(datos, grado, mx, my)

%Entradas: numero de datos, mx, my, grado polinomio;


%Salidas : ecuacion, evaluacion --> otra funcion

syms x;

A = zeros(datos,2);
%Tama�o respecto al grado
B = zeros(grado+1);

B(1,1) = datos;

%Datos x,y A
for i=1: datos
A(i,1) = mx(i,1);
A(i,2) = my(i,1);
end

%Primera fila
k = 1;
for j=2:grado+1
suma = 0;
for i =1:datos
suma = suma + A(i,1)^(k);
end
B(1,j) = suma;
k = k+1;
end

%Siguientes filas
w = 1;
for i=2:grado+1
k = w;
for j=1:grado+1
suma = 0;
for r=1:datos
suma = suma + A(r,1)^(k);
end
B(i,j) = suma;
k = k+1;
end
w = w+1;
end

b = zeros(grado+1,1);

%Primer dato ys
yi=0;
for i=1:datos
yi = yi +A(i,2);
end
b(1,1) = yi;

%Siguientes Datos
k = 1;
for i=2:grado+1
suma = 0;
for j=1:datos
suma = suma + (A(j,1)^(k)*A(j,2));
end
b(i,1) = suma;
k = k+1;
end

%Res. Sistema
R = B\b;

fx = R(1,1);
for i=2:grado+1
fx = fx + (x^(i-1)*vpa(R(i,1),5));
end

fx = expand(fx);
fx = vpa(fx,4);
p = char(fx);

Você também pode gostar