Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
projetS6_Groupe4
4projetCordesVocales
Commits
8f9faded
Commit
8f9faded
authored
Mar 28, 2021
by
Mohammed Amine Hammouali
Browse files
Update u4-fonctions.cpp
parent
9ab4afd2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
24 additions
and
24 deletions
+24
-24
u4-fonctions.cpp
u4-fonctions.cpp
+24
-24
No files found.
u4-fonctions.cpp
View file @
8f9faded
...
...
@@ -127,12 +127,12 @@ void copieTabDouble(double tab1[], double tab2[], int taille)
void
calculGeometrie
()
{
(
gDonnees
.
geometri
e
.
A
)[
0
]
=
(
gDonnees
.
corde
.
h
[
1
]
-
gDonnees
.
corde
.
h
[
0
])
/
(
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
corde
.
x
[
0
]);
// A1 dans l'énoncé
(
gDonnees
.
geometri
e
.
A
)[
1
]
=
(
gDonnees
.
corde
.
h
[
2
]
-
gDonnees
.
corde
.
h
[
1
])
/
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
]);
// A2 dans l'énoncé
(
gDonnees
.
geometri
e
.
A
)[
2
]
=
(
gDonnees
.
corde
.
h
[
3
]
-
gDonnees
.
corde
.
h
[
2
])
/
(
gDonnees
.
corde
.
x
[
3
]
-
gDonnees
.
corde
.
x
[
2
]);
// A3 dans l'énoncé
(
gDonnees
.
geometri
e
.
B
)[
0
]
=
(
gDonnees
.
corde
.
h
)[
0
]
-
(
gDonnees
.
geometri
e
.
A
)[
0
]
*
gDonnees
.
corde
.
x
[
0
];
// B1 dans l'énoncé
(
gDonnees
.
geometri
e
.
B
)[
1
]
=
(
gDonnees
.
corde
.
h
)[
1
]
-
(
gDonnees
.
geometri
e
.
A
)[
1
]
*
gDonnees
.
corde
.
x
[
1
];
// B2 dans l'énoncé
(
gDonnees
.
geometri
e
.
B
)[
2
]
=
(
gDonnees
.
corde
.
h
)[
2
]
-
(
gDonnees
.
geometri
e
.
A
)[
2
]
*
gDonnees
.
corde
.
x
[
2
];
// B3 dans l'énoncé
(
gDonnees
.
cord
e
.
A
)[
0
]
=
(
gDonnees
.
corde
.
h
[
1
]
-
gDonnees
.
corde
.
h
[
0
])
/
(
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
corde
.
x
[
0
]);
// A1 dans l'énoncé
(
gDonnees
.
cord
e
.
A
)[
1
]
=
(
gDonnees
.
corde
.
h
[
2
]
-
gDonnees
.
corde
.
h
[
1
])
/
(
gDonnees
.
corde
.
x
[
2
]
-
gDonnees
.
corde
.
x
[
1
]);
// A2 dans l'énoncé
(
gDonnees
.
cord
e
.
A
)[
2
]
=
(
gDonnees
.
corde
.
h
[
3
]
-
gDonnees
.
corde
.
h
[
2
])
/
(
gDonnees
.
corde
.
x
[
3
]
-
gDonnees
.
corde
.
x
[
2
]);
// A3 dans l'énoncé
(
gDonnees
.
cord
e
.
B
)[
0
]
=
(
gDonnees
.
corde
.
h
)[
0
]
-
(
gDonnees
.
cord
e
.
A
)[
0
]
*
gDonnees
.
corde
.
x
[
0
];
// B1 dans l'énoncé
(
gDonnees
.
cord
e
.
B
)[
1
]
=
(
gDonnees
.
corde
.
h
)[
1
]
-
(
gDonnees
.
cord
e
.
A
)[
1
]
*
gDonnees
.
corde
.
x
[
1
];
// B2 dans l'énoncé
(
gDonnees
.
cord
e
.
B
)[
2
]
=
(
gDonnees
.
corde
.
h
)[
2
]
-
(
gDonnees
.
cord
e
.
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
.
geometri
e
.
A
[
1
])
+
gDonnees
.
corde
.
x
[
1
];
(
gDonnees
.
corde
.
xs
)
=
((
gDonnees
.
corde
.
hs
)
-
(
gDonnees
.
corde
.
h
[
1
]))
/
(
gDonnees
.
cord
e
.
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
.
geometri
e
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
geometri
e
.
B
[
i
])
<
pres
)
//cas de presque horizontalité -> developpement limité
if
(
fabs
(
gDonnees
.
cord
e
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
cord
e
.
B
[
i
])
<
pres
)
//cas de presque horizontalité -> developpement limité
{
W2
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
))
*
(
gDonnees
.
corde
.
x
[
i
+
1
]
-
gDonnees
.
geometri
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
2
)
/
gDonnees
.
geometri
e
.
B
[
i
]
+
(
pow
(
gDonnees
.
geometri
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
3
)
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
)));
W1
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
))
*
(
gDonnees
.
corde
.
x
[
i
]
-
gDonnees
.
geometri
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
],
2
)
/
gDonnees
.
geometri
e
.
B
[
i
]
+
(
pow
(
gDonnees
.
geometri
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
],
3
)
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
)));
W2
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
))
*
(
gDonnees
.
corde
.
x
[
i
+
1
]
-
gDonnees
.
cord
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
2
)
/
gDonnees
.
cord
e
.
B
[
i
]
+
(
pow
(
gDonnees
.
cord
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
3
)
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
)));
W1
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
))
*
(
gDonnees
.
corde
.
x
[
i
]
-
gDonnees
.
cord
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
],
2
)
/
gDonnees
.
cord
e
.
B
[
i
]
+
(
pow
(
gDonnees
.
cord
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
],
3
)
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
)));
W
=
W2
-
W1
;
}
else
{
W
=
1
/
gDonnees
.
geometri
e
.
A
[
i
]
*
(
1
/
gDonnees
.
corde
.
h
[
i
]
-
1
/
gDonnees
.
corde
.
h
[
i
+
1
]);
W
=
1
/
gDonnees
.
cord
e
.
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
.
geometri
e
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
geometri
e
.
B
[
i
])
<
pres
)
//cas de presque horizontalité -> developpement limité
if
(
fabs
(
gDonnees
.
cord
e
.
A
[
i
]
*
gDonnees
.
corde
.
x
[
i
+
1
]
/
gDonnees
.
cord
e
.
B
[
i
])
<
pres
)
//cas de presque horizontalité -> developpement limité
{
X2
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
2
)
/
2
-
2
*
gDonnees
.
geometri
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
3
)
/
3
/
gDonnees
.
geometri
e
.
B
[
i
]
+
3
*
(
pow
(
gDonnees
.
geometri
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
4
)
/
4
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
)));
X1
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
i
],
2
)
/
2
-
2
*
gDonnees
.
geometri
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
],
3
)
/
3
/
gDonnees
.
geometri
e
.
B
[
i
]
+
3
*
(
pow
(
gDonnees
.
geometri
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
],
4
)
/
4
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
i
],
2
)));
X2
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
2
)
/
2
-
2
*
gDonnees
.
cord
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
3
)
/
3
/
gDonnees
.
cord
e
.
B
[
i
]
+
3
*
(
pow
(
gDonnees
.
cord
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
+
1
],
4
)
/
4
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
)));
X1
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
i
],
2
)
/
2
-
2
*
gDonnees
.
cord
e
.
A
[
i
]
*
pow
(
gDonnees
.
corde
.
x
[
i
],
3
)
/
3
/
gDonnees
.
cord
e
.
B
[
i
]
+
3
*
(
pow
(
gDonnees
.
cord
e
.
A
[
i
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
i
],
4
)
/
4
/
(
pow
(
gDonnees
.
cord
e
.
B
[
i
],
2
)));
X
=
X2
-
X1
;
}
else
{
X
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
A
[
i
],
2
))
*
log
(
fabs
(
gDonnees
.
corde
.
h
[
i
+
1
]
/
gDonnees
.
corde
.
h
[
i
]))
+
1
/
gDonnees
.
geometri
e
.
A
[
i
]
*
(
gDonnees
.
corde
.
x
[
i
]
-
gDonnees
.
corde
.
h
[
i
]
/
gDonnees
.
geometri
e
.
A
[
i
])
*
(
1
/
gDonnees
.
corde
.
h
[
i
]
-
1
/
gDonnees
.
corde
.
h
[
i
+
1
]);
X
=
1
/
(
pow
(
gDonnees
.
cord
e
.
A
[
i
],
2
))
*
log
(
fabs
(
gDonnees
.
corde
.
h
[
i
+
1
]
/
gDonnees
.
corde
.
h
[
i
]))
+
1
/
gDonnees
.
cord
e
.
A
[
i
]
*
(
gDonnees
.
corde
.
x
[
i
]
-
gDonnees
.
corde
.
h
[
i
]
/
gDonnees
.
cord
e
.
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
.
geometri
e
.
A
[
1
]
*
gDonnees
.
corde
.
x
[
1
]
+
gDonnees
.
geometri
e
.
B
[
1
];
gDonnees
.
corde
.
hs
=
gDonnees
.
geometri
e
.
A
[
1
]
*
gDonnees
.
corde
.
xs
+
gDonnees
.
geometri
e
.
B
[
1
];
if
(
fabs
(
gDonnees
.
geometri
e
.
A
[
1
]
*
gDonnees
.
corde
.
xs
/
gDonnees
.
geometri
e
.
B
[
1
])
<
pres
)
//cas de presque horizontalité -> developpement limité
gDonnees
.
corde
.
h
[
1
]
=
gDonnees
.
cord
e
.
A
[
1
]
*
gDonnees
.
corde
.
x
[
1
]
+
gDonnees
.
cord
e
.
B
[
1
];
gDonnees
.
corde
.
hs
=
gDonnees
.
cord
e
.
A
[
1
]
*
gDonnees
.
corde
.
xs
+
gDonnees
.
cord
e
.
B
[
1
];
if
(
fabs
(
gDonnees
.
cord
e
.
A
[
1
]
*
gDonnees
.
corde
.
xs
/
gDonnees
.
cord
e
.
B
[
1
])
<
pres
)
//cas de presque horizontalité -> developpement limité
{
X2
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
))
*
(
pow
(
gDonnees
.
corde
.
xs
,
2
)
/
2
-
2
*
gDonnees
.
geometri
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
xs
,
3
)
/
3
/
gDonnees
.
geometri
e
.
B
[
1
]
+
3
*
(
pow
(
gDonnees
.
geometri
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
xs
,
4
)
/
4
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
)));
X1
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
1
],
2
)
/
2
-
2
*
gDonnees
.
geometri
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
x
[
1
],
3
)
/
3
/
gDonnees
.
geometri
e
.
B
[
1
]
+
3
*
(
pow
(
gDonnees
.
geometri
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
1
],
4
)
/
4
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
)));
X2
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
))
*
(
pow
(
gDonnees
.
corde
.
xs
,
2
)
/
2
-
2
*
gDonnees
.
cord
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
xs
,
3
)
/
3
/
gDonnees
.
cord
e
.
B
[
1
]
+
3
*
(
pow
(
gDonnees
.
cord
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
xs
,
4
)
/
4
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
)));
X1
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
))
*
(
pow
(
gDonnees
.
corde
.
x
[
1
],
2
)
/
2
-
2
*
gDonnees
.
cord
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
x
[
1
],
3
)
/
3
/
gDonnees
.
cord
e
.
B
[
1
]
+
3
*
(
pow
(
gDonnees
.
cord
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
1
],
4
)
/
4
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
)));
*
X
=
X2
-
X1
;
W2
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
))
*
(
gDonnees
.
corde
.
xs
-
gDonnees
.
geometri
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
xs
,
2
)
/
gDonnees
.
geometri
e
.
B
[
1
]
+
(
pow
(
gDonnees
.
geometri
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
xs
,
3
)
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
)));
W1
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
))
*
(
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
geometri
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
x
[
1
],
2
)
/
gDonnees
.
geometri
e
.
B
[
1
]
+
(
pow
(
gDonnees
.
geometri
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
1
],
3
)
/
(
pow
(
gDonnees
.
geometri
e
.
B
[
1
],
2
)));
W2
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
))
*
(
gDonnees
.
corde
.
xs
-
gDonnees
.
cord
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
xs
,
2
)
/
gDonnees
.
cord
e
.
B
[
1
]
+
(
pow
(
gDonnees
.
cord
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
xs
,
3
)
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
)));
W1
=
1
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
))
*
(
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
cord
e
.
A
[
1
]
*
pow
(
gDonnees
.
corde
.
x
[
1
],
2
)
/
gDonnees
.
cord
e
.
B
[
1
]
+
(
pow
(
gDonnees
.
cord
e
.
A
[
1
],
2
))
*
pow
(
gDonnees
.
corde
.
x
[
1
],
3
)
/
(
pow
(
gDonnees
.
cord
e
.
B
[
1
],
2
)));
*
W
=
W2
-
W1
;
}
else
{
*
X
=
1
/
(
pow
(
gDonnees
.
geometri
e
.
A
[
1
],
2
))
*
log
(
fabs
(
gDonnees
.
corde
.
hs
/
gDonnees
.
corde
.
h
[
1
]))
+
1
/
gDonnees
.
geometri
e
.
A
[
1
]
*
(
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
corde
.
h
[
1
]
/
gDonnees
.
geometri
e
.
A
[
1
])
*
(
1
/
gDonnees
.
corde
.
h
[
1
]
-
1
/
gDonnees
.
corde
.
hs
);
*
W
=
1
/
gDonnees
.
geometri
e
.
A
[
1
]
*
(
1
/
gDonnees
.
corde
.
h
[
1
]
-
1
/
gDonnees
.
corde
.
hs
);
*
X
=
1
/
(
pow
(
gDonnees
.
cord
e
.
A
[
1
],
2
))
*
log
(
fabs
(
gDonnees
.
corde
.
hs
/
gDonnees
.
corde
.
h
[
1
]))
+
1
/
gDonnees
.
cord
e
.
A
[
1
]
*
(
gDonnees
.
corde
.
x
[
1
]
-
gDonnees
.
corde
.
h
[
1
]
/
gDonnees
.
cord
e
.
A
[
1
])
*
(
1
/
gDonnees
.
corde
.
h
[
1
]
-
1
/
gDonnees
.
corde
.
hs
);
*
W
=
1
/
gDonnees
.
cord
e
.
A
[
1
]
*
(
1
/
gDonnees
.
corde
.
h
[
1
]
-
1
/
gDonnees
.
corde
.
hs
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment