Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Estoy buscando urgentemente un programa en lenguaje C para regresión lineal! ! !

¡Estoy buscando urgentemente un programa en lenguaje C para regresión lineal! ! !

#include?

#include?

#include?

¿nulo?análisis(doble?*?x,?doble?*?y,?int?n)?{

doble?d1,?d2,?d3,a,b;

double?sumx,sumy,sumxx,sumyy,sumxy,mx,my,mxx,myy,mxy;

int?i;

//?Inicialización de variables

d1?=?d2?=?d3?=sumx=sumy=sumxx=sumyy=sumxy=0.0;

//?Calcular el promedio de x e y

¿para?(i?=?0;?i?

sumx?+=?x[i];

sumy ?+=?y[i];

}

mx?=?sumx?/?n;

mi?=?sumy?/?n ;

printf("mx=%f?my=%f\n",mx,my);

//? Calcular el promedio de x, y y x*y

¿para?(i?=?0;?i?

sumxx?+=?x[i]*x[i];

sumyy?+=?y[i]*y[i];

sumxy?+=?x[i]*y[i];

}

mxx?=?sumxx?/?n;

myy?=?sumyy?/?n;

mxy?=?sumxy?/ ?n;

printf("mxx=%f?myy=%f?mxy=%f\n",mxx,myy,mxy);

//

a=(n*sumxy-sumx*sumy)/(n*sumxx-sumx*sumx);

b=(sumxx*sumy-sumx*sumxy)/(n*sumxx- sumx*sumx);

printf("a=%f?b=%f\n",a,b);

//?El componente de datos para calcular la correlación coeficiente

for?(i?=?0;?i?

d1?+=?(x[i]?-?mx ) ?*?(y[i]?-?mi);

d2?+=?(x[i]?-?mx)?*?(x[i]?-?mx)

d3?+=?(y[i]?-?mi)?*?(y[i]?-?mi);

}

double?r?=?d1?/?sqrt(d2?*?d3);

//

printf("Coeficiente de correlación r=%f\n", r );

//

doble?*yy=(doble*)malloc(tamañode(doble)*n);

doble?sumerrorsquare=0 , error;

for(i=0;i

yy[i]=a*x[i]+b;

sumaerrorcuadrado+=(yy[i]-y[i])*(yy[i]-y[i]);

}

error=sqrt(sumaerrorcuadrado/( n -1));

printf("Desviación estándar s(y)=%f\n",error);

}

int?main ( ){

doble?x[4]={1.0,3.0,3.0,9.0};

doble?y[4]={11.0,12.0,13.0,14.0};

análisis(x,y,4);

retorno?0;

}