function correl
xi=input('ingrese los valores de xi:\n');
yi=input('ingreso los valores de yi:\n');
xm=input('ingreso un valor de x para analisar la pendiente:\n');
n=length(xi);
p=xi.';
q=yi.';
r=p.*q;
s=p.*p;
a1=sum(xi);
a2=sum(yi);
a3=sum(r);
a4=sum(s);
m=a2/n;
j=sum((yi-m).^2);
A=[a4 a1;a1 n];
B=[a3 a2];
X=inv(A)*(B');
l=X(1);r=X(2);
fprintf('\nLos coeficientes de la ecuacion son:\n')
fprintf(' a b\n')
fprintf('%8.8f%10.8f\n',l,r)
fun=input('\nLa funcion lineal es y=','s');
y=l*xi+r;
t=sum((yi-y).^2);
r2=1-(t/j);
z=(r2)^0.5;
m=diff(fun);
x=xm;
n=eval(m);
fprintf('\n El coeficiente de determinacion r^2=');
fprintf('%5.5f\n',r2);
if(n>0)
fprintf('\n El coeficiente de correlacion r=');
fprintf('%5.5f\n',z);
elsefprintf('\n El coeficiente de correlacion r=');
fprintf('%5.5f\n',-z);
end
hold on
ezplot(fun),grid on,
plot(xi,yi,'m.'),
hold off
Ejemplo: Funcion Lineal
ingrese los valores de xi:
[4 5 2 5 6 7 1 8 3 7]
ingreso los valores de yi:
[5 6 4 5 7 10 3 11 4 9]
ingreso un valor de x para analizar la pendiente:
2
Los coeficientes de la ecuacion son:
a b
1.13025210 0.97478992
La funcion lineal es y=1.13025210*x+0.97478992
El coeficiente de determinacion r^2=0.88900
El coeficiente de correlacion r=0.94287
function correlog2
xi=input('ingrese los valores de xi:\n');
yi=input('ingreso los valores de yi:\n');
n=length(xi);
p=log(-xi);
q=yi;
r=p.*q;
s=p.*p;
a1=sum(p);
a2=sum(q);
a3=sum(r);
a4=sum(s);
m=sum(yi)/n;
j=sum((yi-m).^2);
A=[a4 a1;a1 n];
B=[a3 a2];
X=inv(A)*(B');
l=X(1);r=X(2);
fprintf('\nLos coeficientes de la funcion son:\n')
fprintf(' a b\n')
fprintf('%8.12f%10.12f\n',l,r)
y=input('\nLa funcion logaritmica natural es y=','s');
h=l*log(-xi)+r;
z=sum((yi-h).^2);
r2=1-(z/j);
k=(r2)^0.5;
fprintf('\n El coeficiente de determinacion r^2=');
fprintf('%5.5f\n',r2);
fprintf('\n El coeficiente de correlacion r=');
fprintf('%5.5f\n',k);
hold on
ezplot(y),grid on,
plot(xi,yi,'m.'),
hold off
2 comentarios:
Gracias tu aporte me ha sido de mucha ayuda :)
Publicar un comentario