Commit 8f9faded authored by Mohammed Amine Hammouali's avatar Mohammed Amine Hammouali
Browse files

Update u4-fonctions.cpp

parent 9ab4afd2
......@@ -127,12 +127,12 @@ void copieTabDouble(double tab1[], double tab2[], int taille)
void calculGeometrie()
{
(gDonnees.geometrie.A)[0] = (gDonnees.corde.h[1]-gDonnees.corde.h[0])/(gDonnees.corde.x[1]-gDonnees.corde.x[0]); // A1 dans l'énoncé
(gDonnees.geometrie.A)[1] = (gDonnees.corde.h[2]-gDonnees.corde.h[1])/(gDonnees.corde.x[2]-gDonnees.corde.x[1]); // A2 dans l'énoncé
(gDonnees.geometrie.A)[2] = (gDonnees.corde.h[3]-gDonnees.corde.h[2])/(gDonnees.corde.x[3]-gDonnees.corde.x[2]); // A3 dans l'énoncé
(gDonnees.geometrie.B)[0] = (gDonnees.corde.h)[0]-(gDonnees.geometrie.A)[0]*gDonnees.corde.x[0]; // B1 dans l'énoncé
(gDonnees.geometrie.B)[1] = (gDonnees.corde.h)[1]-(gDonnees.geometrie.A)[1]*gDonnees.corde.x[1]; // B2 dans l'énoncé
(gDonnees.geometrie.B)[2] = (gDonnees.corde.h)[2]-(gDonnees.geometrie.A)[2]*gDonnees.corde.x[2]; // B3 dans l'énoncé
(gDonnees.corde.A)[0] = (gDonnees.corde.h[1]-gDonnees.corde.h[0])/(gDonnees.corde.x[1]-gDonnees.corde.x[0]); // A1 dans l'énoncé
(gDonnees.corde.A)[1] = (gDonnees.corde.h[2]-gDonnees.corde.h[1])/(gDonnees.corde.x[2]-gDonnees.corde.x[1]); // A2 dans l'énoncé
(gDonnees.corde.A)[2] = (gDonnees.corde.h[3]-gDonnees.corde.h[2])/(gDonnees.corde.x[3]-gDonnees.corde.x[2]); // A3 dans l'énoncé
(gDonnees.corde.B)[0] = (gDonnees.corde.h)[0]-(gDonnees.corde.A)[0]*gDonnees.corde.x[0]; // B1 dans l'énoncé
(gDonnees.corde.B)[1] = (gDonnees.corde.h)[1]-(gDonnees.corde.A)[1]*gDonnees.corde.x[1]; // B2 dans l'énoncé
(gDonnees.corde.B)[2] = (gDonnees.corde.h)[2]-(gDonnees.corde.A)[2]*gDonnees.corde.x[2]; // B3 dans l'énoncé
}
void Pseparation_Matlab()
......@@ -142,7 +142,7 @@ void Pseparation_Matlab()
if (gDonnees.corde.h[1]!=gDonnees.corde.h[2]) //si h1 est différent de h2
{
(gDonnees.corde.hs) = sep*(gDonnees.corde.h[1]);
(gDonnees.corde.xs) = ((gDonnees.corde.hs)-(gDonnees.corde.h[1]))/(gDonnees.geometrie.A[1]) + gDonnees.corde.x[1];
(gDonnees.corde.xs) = ((gDonnees.corde.hs)-(gDonnees.corde.h[1]))/(gDonnees.corde.A[1]) + gDonnees.corde.x[1];
}
else //cas ou h1=h2
{
......@@ -223,16 +223,16 @@ double W_Matlab(int i)
{
double W, W1, W2;
if (fabs(gDonnees.geometrie.A[i]*gDonnees.corde.x[i+1]/gDonnees.geometrie.B[i])<pres) //cas de presque horizontalité -> developpement limité
if (fabs(gDonnees.corde.A[i]*gDonnees.corde.x[i+1]/gDonnees.corde.B[i])<pres) //cas de presque horizontalité -> developpement limité
{
W2 = 1/(pow(gDonnees.geometrie.B[i],2))*(gDonnees.corde.x[i+1]-gDonnees.geometrie.A[i]*pow(gDonnees.corde.x[i+1],2)/gDonnees.geometrie.B[i]+(pow(gDonnees.geometrie.A[i],2))*pow(gDonnees.corde.x[i+1],3)/(pow(gDonnees.geometrie.B[i],2)));
W1 = 1/(pow(gDonnees.geometrie.B[i],2))*(gDonnees.corde.x[i]-gDonnees.geometrie.A[i]*pow(gDonnees.corde.x[i],2)/gDonnees.geometrie.B[i]+(pow(gDonnees.geometrie.A[i],2))*pow(gDonnees.corde.x[i],3)/(pow(gDonnees.geometrie.B[i],2)));
W2 = 1/(pow(gDonnees.corde.B[i],2))*(gDonnees.corde.x[i+1]-gDonnees.corde.A[i]*pow(gDonnees.corde.x[i+1],2)/gDonnees.corde.B[i]+(pow(gDonnees.corde.A[i],2))*pow(gDonnees.corde.x[i+1],3)/(pow(gDonnees.corde.B[i],2)));
W1 = 1/(pow(gDonnees.corde.B[i],2))*(gDonnees.corde.x[i]-gDonnees.corde.A[i]*pow(gDonnees.corde.x[i],2)/gDonnees.corde.B[i]+(pow(gDonnees.corde.A[i],2))*pow(gDonnees.corde.x[i],3)/(pow(gDonnees.corde.B[i],2)));
W=W2-W1;
}
else
{
W = 1/gDonnees.geometrie.A[i]*(1/gDonnees.corde.h[i]-1/gDonnees.corde.h[i+1]);
W = 1/gDonnees.corde.A[i]*(1/gDonnees.corde.h[i]-1/gDonnees.corde.h[i+1]);
}
return W;
......@@ -242,15 +242,15 @@ double X_Matlab(int i)
{
double X, X1, X2;
if (fabs(gDonnees.geometrie.A[i]*gDonnees.corde.x[i+1]/gDonnees.geometrie.B[i])<pres) //cas de presque horizontalité -> developpement limité
if (fabs(gDonnees.corde.A[i]*gDonnees.corde.x[i+1]/gDonnees.corde.B[i])<pres) //cas de presque horizontalité -> developpement limité
{
X2 = 1/(pow(gDonnees.geometrie.B[i],2))*(pow(gDonnees.corde.x[i+1],2)/2-2*gDonnees.geometrie.A[i]*pow(gDonnees.corde.x[i+1],3)/3/gDonnees.geometrie.B[i]+3*(pow(gDonnees.geometrie.A[i],2))*pow(gDonnees.corde.x[i+1],4)/4/(pow(gDonnees.geometrie.B[i],2)));
X1 = 1/(pow(gDonnees.geometrie.B[i],2))*(pow(gDonnees.corde.x[i],2)/2-2*gDonnees.geometrie.A[i]*pow(gDonnees.corde.x[i],3)/3/gDonnees.geometrie.B[i]+3*(pow(gDonnees.geometrie.A[i],2))*pow(gDonnees.corde.x[i],4)/4/(pow(gDonnees.geometrie.B[i],2)));
X2 = 1/(pow(gDonnees.corde.B[i],2))*(pow(gDonnees.corde.x[i+1],2)/2-2*gDonnees.corde.A[i]*pow(gDonnees.corde.x[i+1],3)/3/gDonnees.corde.B[i]+3*(pow(gDonnees.corde.A[i],2))*pow(gDonnees.corde.x[i+1],4)/4/(pow(gDonnees.corde.B[i],2)));
X1 = 1/(pow(gDonnees.corde.B[i],2))*(pow(gDonnees.corde.x[i],2)/2-2*gDonnees.corde.A[i]*pow(gDonnees.corde.x[i],3)/3/gDonnees.corde.B[i]+3*(pow(gDonnees.corde.A[i],2))*pow(gDonnees.corde.x[i],4)/4/(pow(gDonnees.corde.B[i],2)));
X=X2-X1;
}
else
{
X = 1/(pow(gDonnees.geometrie.A[i],2))*log(fabs(gDonnees.corde.h[i+1]/gDonnees.corde.h[i]))+1/gDonnees.geometrie.A[i]*(gDonnees.corde.x[i]-gDonnees.corde.h[i]/gDonnees.geometrie.A[i])*(1/gDonnees.corde.h[i]-1/gDonnees.corde.h[i+1]);
X = 1/(pow(gDonnees.corde.A[i],2))*log(fabs(gDonnees.corde.h[i+1]/gDonnees.corde.h[i]))+1/gDonnees.corde.A[i]*(gDonnees.corde.x[i]-gDonnees.corde.h[i]/gDonnees.corde.A[i])*(1/gDonnees.corde.h[i]-1/gDonnees.corde.h[i+1]);
}
......@@ -262,23 +262,23 @@ void X_W_s_Matlab(double* X,double* W) // entre x1 et xS
{
double Xs, Ws, X1, X2, W1, W2;
gDonnees.corde.h[1] = gDonnees.geometrie.A[1]*gDonnees.corde.x[1] + gDonnees.geometrie.B[1];
gDonnees.corde.hs = gDonnees.geometrie.A[1]*gDonnees.corde.xs + gDonnees.geometrie.B[1];
if (fabs(gDonnees.geometrie.A[1]*gDonnees.corde.xs/gDonnees.geometrie.B[1])<pres) //cas de presque horizontalité -> developpement limité
gDonnees.corde.h[1] = gDonnees.corde.A[1]*gDonnees.corde.x[1] + gDonnees.corde.B[1];
gDonnees.corde.hs = gDonnees.corde.A[1]*gDonnees.corde.xs + gDonnees.corde.B[1];
if (fabs(gDonnees.corde.A[1]*gDonnees.corde.xs/gDonnees.corde.B[1])<pres) //cas de presque horizontalité -> developpement limité
{
X2 = 1/(pow(gDonnees.geometrie.B[1],2))*(pow(gDonnees.corde.xs,2)/2-2*gDonnees.geometrie.A[1]*pow(gDonnees.corde.xs,3)/3/gDonnees.geometrie.B[1]+3*(pow(gDonnees.geometrie.A[1],2))*pow(gDonnees.corde.xs,4)/4/(pow(gDonnees.geometrie.B[1],2)));
X1 = 1/(pow(gDonnees.geometrie.B[1],2))*(pow(gDonnees.corde.x[1],2)/2-2*gDonnees.geometrie.A[1]*pow(gDonnees.corde.x[1],3)/3/gDonnees.geometrie.B[1]+3*(pow(gDonnees.geometrie.A[1],2))*pow(gDonnees.corde.x[1],4)/4/(pow(gDonnees.geometrie.B[1],2)));
X2 = 1/(pow(gDonnees.corde.B[1],2))*(pow(gDonnees.corde.xs,2)/2-2*gDonnees.corde.A[1]*pow(gDonnees.corde.xs,3)/3/gDonnees.corde.B[1]+3*(pow(gDonnees.corde.A[1],2))*pow(gDonnees.corde.xs,4)/4/(pow(gDonnees.corde.B[1],2)));
X1 = 1/(pow(gDonnees.corde.B[1],2))*(pow(gDonnees.corde.x[1],2)/2-2*gDonnees.corde.A[1]*pow(gDonnees.corde.x[1],3)/3/gDonnees.corde.B[1]+3*(pow(gDonnees.corde.A[1],2))*pow(gDonnees.corde.x[1],4)/4/(pow(gDonnees.corde.B[1],2)));
*X=X2-X1;
W2 = 1/(pow(gDonnees.geometrie.B[1],2))*(gDonnees.corde.xs-gDonnees.geometrie.A[1]*pow(gDonnees.corde.xs,2)/gDonnees.geometrie.B[1]+(pow(gDonnees.geometrie.A[1],2))*pow(gDonnees.corde.xs,3)/(pow(gDonnees.geometrie.B[1],2)));
W1 = 1/(pow(gDonnees.geometrie.B[1],2))*(gDonnees.corde.x[1]-gDonnees.geometrie.A[1]*pow(gDonnees.corde.x[1],2)/gDonnees.geometrie.B[1]+(pow(gDonnees.geometrie.A[1],2))*pow(gDonnees.corde.x[1],3)/(pow(gDonnees.geometrie.B[1],2)));
W2 = 1/(pow(gDonnees.corde.B[1],2))*(gDonnees.corde.xs-gDonnees.corde.A[1]*pow(gDonnees.corde.xs,2)/gDonnees.corde.B[1]+(pow(gDonnees.corde.A[1],2))*pow(gDonnees.corde.xs,3)/(pow(gDonnees.corde.B[1],2)));
W1 = 1/(pow(gDonnees.corde.B[1],2))*(gDonnees.corde.x[1]-gDonnees.corde.A[1]*pow(gDonnees.corde.x[1],2)/gDonnees.corde.B[1]+(pow(gDonnees.corde.A[1],2))*pow(gDonnees.corde.x[1],3)/(pow(gDonnees.corde.B[1],2)));
*W=W2-W1;
}
else
{
*X = 1/(pow(gDonnees.geometrie.A[1],2))*log(fabs(gDonnees.corde.hs/gDonnees.corde.h[1]))+1/gDonnees.geometrie.A[1]*(gDonnees.corde.x[1]-gDonnees.corde.h[1]/gDonnees.geometrie.A[1])*(1/gDonnees.corde.h[1]-1/gDonnees.corde.hs);
*W = 1/gDonnees.geometrie.A[1]*(1/gDonnees.corde.h[1]-1/gDonnees.corde.hs);
*X = 1/(pow(gDonnees.corde.A[1],2))*log(fabs(gDonnees.corde.hs/gDonnees.corde.h[1]))+1/gDonnees.corde.A[1]*(gDonnees.corde.x[1]-gDonnees.corde.h[1]/gDonnees.corde.A[1])*(1/gDonnees.corde.h[1]-1/gDonnees.corde.hs);
*W = 1/gDonnees.corde.A[1]*(1/gDonnees.corde.h[1]-1/gDonnees.corde.hs);
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment