Skip to content
Snippets Groups Projects
Commit 1b4cf51e authored by simon.cirilli's avatar simon.cirilli
Browse files

Un peu mieux

parent 616c5b20
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -40,7 +40,7 @@ int main() {
printf("Sol Analytique : a: %f b: %f\n",p.x,p.y);
point drt;
drt.x=6;
drt.y=12;
drt.y=6;
p = descenteGradient(0.0001,drt,v);
printf("Sol Numérique : a: %f b: %f\n",p.x,p.y);
......
No preview for this file type
......@@ -37,20 +37,18 @@ point descenteGradient(double precision, point drt, vector pts){
double oldptx = 0;
double oldpty = 0;
double testSortie=1;
double lambda = 0.000001;
double lambda = 0.0001;
while(testSortie > precision){
gradientx = 0;
gradienty = 0;
testSortie = 0;
//drt.x est a et drt.y est b
//pt.x est a et pt.y est b
for(int i = 0; i < pts.length; i++){
gradientx += (pow(pts.content[i].x, 2) * pt.x) + (pt.y * pts.content[i].x) - (pts.content[i].x * pts.content[i].y);
gradienty += (pt.x * pts.content[i].x) - pts.content[i].y;
gradienty += (pt.x * pts.content[i].x) + pt.y - pts.content[i].y;//pt.y*pts.length
}
gradientx = gradientx * 2;
gradienty += pt.y * pts.length;
gradienty = gradienty * 2;
......@@ -58,14 +56,14 @@ point descenteGradient(double precision, point drt, vector pts){
oldpty = pt.y;
pt.x = oldptx - (lambda * gradientx);
printf("ptx : %f\n",pt.x);
// printf("ptx : %f\n",pt.x);
pt.y = oldpty - (lambda * gradienty);
printf("pty : %f\n",pt.y);
// printf("pty : %f\n",pt.y);
//Sortie
testSortie = sqrt(pow(pt.x - oldptx,2) + pow(pt.y - oldpty,2));
printf("%f\n",testSortie);
// printf("%f\n",testSortie);
}
return pt;
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment