Calcul de volume avec Mathematica

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
NoTLlama
Messages: 1
Enregistré le: 18 Oct 2010, 14:16

Calcul de volume avec Mathematica

par NoTLlama » 18 Oct 2010, 15:01

Bonjour à tous,
Avant toute chose, mon problème n'est pas vraiment lié au mathématiques mais plutôt à un problème lié à Mathématica(c'est ce que je pense en tout cas).
Mon problème est le suivant:Je possède un demi-cylindre et un plan d'équation sécant avec le demi-cylindre et je cherche à calculer le volume correspondant à la partie du demi cylindre situé en dessous de ce plan en fonction de l'angle d'inclinaison T entre mon cylindre et mon plan. Les paramètres L1 et R correspondent respectivement à la longueur et au rayon de mon demi-cylindre. Pour ce faire voici ma démarche:

J'ai tout d'abord définie mon demi cylindre à l'aide d'un paramètre t (y[t] := R Sin[t];
z[t] := -R Cos[t]). Réciproquement, je peux donc définir la fonction suivante:t[z] :=ArcCos[-z/R].

Ensuite, j'ai défini l'air, à l'aide de ce même paramètre t, correspond à l'air d'un demi cercle sécant avec une droite horizontal dont les points d'intersection ont pour coordonnée z[t]:
A[t] := 2*Integrate[-z[j] Derivative[1, 0][y][j], {j, 0, t}] +
2*y[t, R]*z[t, R]

Cette fonction me donne donc l'aire en fonction de t, or je la souhaitais en fonction de x. J'ai donc défini l'équation de notre plan( zd[x_, T_]: = Tan[T] (x - H/Sin[T]) ) qui me permet d'obtenir l'air d'une coupe du cylindre en fonction de x.
Pour finir, et afin d'obtenir mon volume, j'intègre mon air entre X1 et X2(correspondant aux deux abscisses extremum de mon volume).

Je n'ai pas réussi à insérer une image afin d'expliquer mes propos plus clairement, veuillez m'excuser.
Il me paraissait essentiel d'expliquer tout mon problème avant de vous demander conseille(même si cela peut paraître long).

Donc voici maintenant mon programme sous Mathematica, qui reprend ce qui a été exposé plus haut:

R = 1;
H = 4;
L1 = 17;
t[z_] := If[z > 0, 0, If[z + R < 0, 0, ArcCos[-z/R]]];
y[u_, r_] := r Sin[u];
z[u_, r_] := -r Cos[u];
zd[x_, T_] :=
If[T == Pi/2, 0,
If[T == 0, R - H,
If[x < X1[T] || x > X2[T], 0, Tan[T] (x - H/Sin[T])]]];

A[x_] := 2*Integrate[-z[t, R] Derivative[1, 0][y][t, R], {t, 0, x}] +
2*y[x, R]*z[x, R];

Cas[T_] :=
If[T == 0, If[H < 0, 0, If[H > R, 5, 4]],
If[H > (L1 + R/Tan[T]) Sin[T], 5,
If[L1*Sin[T] < H && H < R/Cos[T], 4,
If[H < 0, 0,
If[H < Min[R*Cos[T], L1*Sin[T]], 1, If[H < L1*Sin[T], 2, 3]]]]]];

X1[T_] :=
If[Cas[T] == 2 || Cas[T] == 3, (H - R/Cos[T])/Sin[T] + R*Tan[T],
If[Cas[T] == 5, L1, 0]];
X2[T_] :=
If[Cas[T] == 0, 0,
If[Cas[T] == 3 || Cas[T] == 4 || Cas[T] == 5, L1, H/Sin[T]]];

Compil[j_, T_] := A[t[zd[j, T]]];
V1bis[T_] := Integrate[Compil[j, T], {j, X1[T], X2[T]}];
V1bis[0.35]


Et afin mon problème: lorsque je lance ma simulation, j'obtient des valeurs complexes de mon volume. Pourtant, les valeurs de la fonction que j'intègre semble toutes réelles d'après mes tests. Quelqu'un pourrait-il me donner une piste sur comment corriger cette erreur?
Merci d'avance,
Thomas.



 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 55 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite