Revision 317482 of "Mathematica Home Edition/Origine Eq Dif" on frwikiversity

{{Chapitre
  | idfaculté = informatique
  | précédent = [[../|sommaire]]
  | suivant   = [[../Proposition/]]
  | niveau    = 15
  | numéro    = 1
}}

== Présentation ==

Ce travail se base sur le premier chapitre du livre de '''"Frank Ayres Jr" "Equations différentielles " Serie Schaum'''.

Dans ce chapitre nous allons essayer de rechercher l'une des origines des équations différentielles.


== L'élimination des constantes ==

=== Etude 1 : ===

<math>x^2+y[x]^2-2Ax-2By[x]+C=0</math>


Éliminer les trois constantes A, B, C de cette équation. Cours : [http://www.dailymotion.com/video/xgmodt_eqd00a1_tech Vidéo 1]


{{Remarque
  | contenu =
* L'élimination des trois constantes nous donne une équation différentielle.
* La solution de cette équation différentielle est l'équation avec les trois constants.
* On peut supposer qu'une équation différentielle possède plusieurs solutions.
}}

[[Fichier:Eqd00a2.ogv|thumb|Add caption here]]

Vérifions notre travail.


{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

Eliminons les constantes de cette équation :

                                x^2+y[x]^2-2A x-2B y[x]+C==0           (1)
En utilisant la fonction dérivé à trois reprises nous avons obtenu cette équation différentielle :

                                3y'[x]y''[x]^2-y'''[x](1+y'[x]^2)==0
Posons A = 0, B = 0  :

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

Eliminons les constantes de cette équation :

                                x^2+y[x]^2-2A x-2B y[x]+C==0           (1)
En utilisant la fonction dérivé à trois reprises nous avons obtenu cette équation différentielle :

                                3y'[x]y''[x]^2-y'''[x](1+y'[x]^2)==0
Posons  B = 0  :

</pre>
}}


=== Etude 2 : ===

[[Fichier:Eqd00b1.ogv|thumb|Add caption here]]

<math>y[x]= A x </math>

<math>y[x]= A x + B </math>

<math>y[x]= A x^2 + B x + C</math>


Éliminer les trois constantes A, B, C de ces équations. 


{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

Trouver l'équation différentielle  associée à cette équation :

                                    y[x] == A x

y[x] == A x

A := y'[x];  y[x] == A x

A =.; y[x_] := A x; y[x] - x y'[x] == 0

y[x_] =.


</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

Trouver l'équation différentielle  associée à cette équation :

                     y[x] == A (x^2 + x )


y[x] == A (x^2 + x)


y'[x] == A (1 + 2 x);  A := y'[x]/(1 + 2 x);   y[x] == A (x^2 + x)

A =.;  y[x_] := A (x^2 + x);   y[x] (1 + 2 x) - (x + x^2) y'[x] == 0


y[x_] =.

</pre>
}}

=== Etude 3 : ===

[[Fichier:Eqd00c1.ogv|thumb|Add caption here]]

<math>y[x]== A e^x</math>

<math>y[x]== A e^x + B</math>


Éliminer les deux constantes A, B de ces équations.









=== Etude 4 : ===

[[Fichier:Eqd00d1.ogv|thumb|Add caption here]]

<math>y[x]== A Sin[x]</math>

<math>y[x]== Sin[x+A]</math>


Éliminer les deux constantes A, B de ces équations.







=== Etude 5 : ===

[[Fichier:Eqd00e1.ogv|thumb|Add caption here]]

<math>x == A Sin[ y[x] + B]</math>


Éliminer les deux constantes A, B de cette équation.









=== Etude 6 : ===

[[Fichier:Eqd00f1.ogv|thumb|Add caption here]]

<math>Log[y[x]]=A x^2 + B</math>


Éliminer les deux constantes A, B de cette équation.








== Conclusion ==

Une des origines des équations différentielles est donc la tentative d''''éliminer les constantes''' d'une équation.


== Complément : Algèbre linéaire ==


Ce travail se base sur le premier chapitre du livre de '''Seymour Lipschutz et Marc Lipson Algèbre linéaire Schaum's '''.

=== Etude 7 : ===

Vidéo : [http://www.dailymotion.com/video/xs7ygp_mathematica-ml01a_tech Tutorial ml01a]<br />

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

* 1 ***********************

Vecteur dans R^n :

n =RandomInteger[{1,4}];

u =RandomInteger[{1,10},{1,n}][[1]]
v =RandomInteger[{1,10},{1,n}][[1]]

Deux scalaires :

a =RandomInteger[{1,10}]
b =RandomInteger[{1,10}]
a u+b v

Réinitialisation des variables : 

ClearAll["Global`*"]



* 2 ***********************

Soit deux vecteurs  : 

u= {x-y,x+y,z+1};
v= {1,2,3};

Calculons les valeurs de x, y, z pour que u = v: 

Solve[{
u[[1]]==v[[1]],
u[[2]]==v[[2]],
u[[3]]==v[[3]]},{x,y,z}]

x=    %[[1,1,2]];
y=  %%[[1,2,2]];
z=%%%[[1,3,2]];

Vérifions : 

u==v   

Réinitialisation des variables : 

ClearAll["Global`*"]



* 3 ***********************

Ecrire a  :

a=RandomInteger[{1,10},{1,3}][[1]]

Comme combinaison linéaire de u, v w :

u =RandomInteger[{1,10},{1,3}][[1]]
v =RandomInteger[{1,10},{1,3}][[1]]
w =RandomInteger[{1,10},{1,3}][[1]]

C'est à dire :

a == u x+v y+w z

Calculons les valeurs de x, y, z pour que a = u x+v y+w z : 

Solve[{
a[[1]]==%5[[2,1]],
a[[2]]==%5[[2,2]],
a[[3]]==%5[[2,3]]},{x,y,z}]

x=    %[[1,1,2]];
y=  %%[[1,2,2]];
z=%%%[[1,3,2]];

Vérifions : 

a == u x+v y+w z

Réinitialisation des variables : 

ClearAll["Global`*"]

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>


* 1 *************************


Produit scalaire  : 

u ={5,6,k}
v= {1,2,3}

Calculons la valeur de k pour que u et v soient orthogonaux : 

u.v
k=Solve[%==0,{k}][[1,1,2]]

Si u et v sont orthogonaux, alors u v = 0: 

u.v==0
ClearAll["Global`*"]


* 2 *************************


Produit scalaire  : 

n =RandomInteger[{1,4}];

u=(RandomInteger[{1,10},{1,n}][[1]]);
u[[RandomInteger[{1,n}]]]=k;

u
v =RandomInteger[{1,10},{1,n}][[1]]

Calculons la valeur de k pour que u et v soient orthogonaux : 

u.v
Solve[%==0,{k}]

k=    %[[1,1,2]];

Si u et v sont orthogonaux, alors u v = 0: 

u.v==0
ClearAll["Global`*"]

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>


* 1 ***************************

Soit u un vecteur  : 

n =RandomInteger[{1,10}];

u =RandomInteger[{1,10},{1,n}][[1]]

Calculons le vecteur unitaire représentant u :          

U = u/Sqrt[u.u] 
U = u/Norm[u]
U =Normalize[u]

Alors UU : 

Norm[U]
ClearAll["Global`*"]


* 2 ***************************


Soit deux vecteurs  : 

n =RandomInteger[{1,10}];

u =RandomInteger[{1,10},{1,n}][[1]]
v =RandomInteger[{1,10},{1,n}][[1]]

Calculons la distance entre a et b :            Sqrt[Abs[a-x]^2+Abs[b-y]^2+Abs[c-z]^2]

EuclideanDistance[u,v]
Norm[u-v]
SquaredEuclideanDistance[u,v]

Calculons le cosinus de l'angle entre u et v : 

Cos[a] ==u.v/(Sqrt[u.u]Sqrt[v.v])

Calculons la projection de u sur v : 

U =(u.v/Sqrt[v.v]^2).v     
Projection[u,v]
ClearAll["Global`*"]

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>


* 1 ****************************

Soit un point de H  :

Mini3=3;

n=Mini3+RandomInteger[{1,4}];

p=RandomInteger[{1,10},{1,n}][[1]]

Soit un vecteur normal à H :

u =RandomInteger[{1,10},{1,n}][[1]]

Trouver l'équation de l'hyperplan H passant par p :

Sum[u[[i]]x[i],{i,1,n}]==k

Calculons la valeur de k :

k =Sum[u[[i]]p[[i]],{i,1,n}]

Soit  :

Sum[u[[i]]x[i],{i,1,n}]==k

Réinitialisation des variables : 

ClearAll["Global`*"]


* 2 ****************************


Soit un point de p  :

n=3+RandomInteger[{1,4}];

p=RandomInteger[{1,10},{1,n}][[1]]

Soit une équation de H :

u =RandomInteger[{1,10},{1,n}][[1]];

Sum[u[[i]]x[i],{i,1,n}]==RandomInteger[{1,4}]

Trouver l'équation de l'hyperplan G parallèle à H passant par p :

Sum[u[[i]]x[i],{i,1,n}]==Sum[u[[i]]p[[i]],{i,1,n}]

Réinitialisation des variables : 

ClearAll["Global`*"]



* 3 ****************************


Soit un point de Droite  :

n=3+RandomInteger[{1,4}];

p=RandomInteger[{1,10},{1,n}][[1]]

Soit un vecteur de  Droite :

u =RandomInteger[{1,10},{1,n}][[1]]

Trouver l'équation paramètrique de Droite :

Column[Table[x[i]==u[[i]]t+p[[i]],{i,1,n}]]
L[t]==Table[u[[i]]t+p[[i]],{i,1,n}]

Réinitialisation des variables : 

ClearAll["Global`*"]

</pre>
}}

=== Etude 8 : ===

Vidéo : [http://www.dailymotion.com/video/xs9gz2_mathematica-ml01b_tech Tutorial ml01b]<br />

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

Soit un courbe :

f[t_]={Cos[t],Sin[t]};
ParametricPlot[f[t],{t,0,Pi}]

Calculer les coordonnées de P pour t = a :

a=RandomReal[{0,Pi}]

f[a]

Calculer le vecteur unitaire tangent à f quand t = a :

Normalize[f'[a]]
Norm[%]

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>


Soit deux points  :

n=3;

p=RandomInteger[{-10,10},{1,n}][[1]]
q=RandomInteger[{-10,10},{1,n}][[1]]

Trouver l'équation paramètrique de la droite passant par les points p et q :

pq=(q-p)
L[t]==Sum[(pq[[i]]t+p[[i]])FromCharacterCode[104+i],{i,1,n}]

Réinitialisation des variables :

ClearAll["Global`*"]

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>


* 1 *******************************************

Produit vectoriel.

Calculons les coordonnés d'un vecteur  orthogonal à u[2] et u[3] :

n=3;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]

Construisons la matrice de travail : 

Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],
{i,n},{j,n}]//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={+Det[()],-Det[()],+Det[()]}

Vérifions : 

u[2].v
u[3].v

* 2 *******************************************

Produit vectoriel.

Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3] :

n=3;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
{5,5,-2}
{5,3,0}

Construisons la matrice de travail : 

mat=Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],
{i,n},{j,n}];

mat//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={
+Det[            mat[[2;;3,2;;3]]],
-Det[Join[mat[[2;;3,1;;1]],mat[[2;;3,3;;3]],2]],
+Det[            mat[[2;;3,1;;2]]]}

Vérifions : 

u[2].v
u[3].v

</pre>
}}



=== Etude 9 : ===

Vidéo : [http://www.dailymotion.com/video/xsafd9_mathematica-ml01c_tech Tutorial ml01c]<br />

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

* 1 *****************************************

Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3]et u[4] :

n=4;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
u[4]=RandomInteger[{-5,5},{1,n}][[1]]

Construisons la matrice de travail : 

Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],
{i,n},{j,n}]//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={Det[()],-Det[()],+Det[()],-Det[()]}

Vérifions : 

u[2].v
u[3].v
u[4].v


* 2 *****************************************

Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3] et u[4]  :

n=4;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
u[4]=RandomInteger[{-5,5},{1,n}][[1]]

Construisons la matrice de travail : 

mat =Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],{i,n},{j,n}];

mat//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={
+Det[            mat[[2;;4,2;;4]]],
-Det[Join[mat[[2;;4,1;;1]],mat[[2;;4,3;;4]],2]],
+Det[Join[mat[[2;;4,1;;2]],mat[[2;;4,4;;4]],2]],
-Det[            mat[[2;;4,1;;3]]]}

Vérifions : 

u[2].v
u[3].v
u[4].v

* 3 *****************************************


Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3] et u[4]  :

n=4;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
u[4]=RandomInteger[{-5,5},{1,n}][[1]]

u[2]={27,-144,-136,51};
u[3]={1889,-2981,3096,-1161};
u[4]={-60,-24,57,116};
GCD[]

Construisons la matrice de travail : 

mat =Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],{i,n},{j,n}];

mat//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={
+Det[            mat[[2;;4,2;;4]]],
-Det[Join[mat[[2;;4,1;;1]],mat[[2;;4,3;;4]],2]],
+Det[Join[mat[[2;;4,1;;2]],mat[[2;;4,4;;4]],2]],
-Det[            mat[[2;;4,1;;3]]]}

Vérifions : 

u[2].u[3]
u[2].u[4]
u[3].u[4]

</pre>
}}

{{Boîte déroulante|titre=Le code Mathematica|contenu=
<pre>

* 1 *****************************************


Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3]et u[4] :

n=5;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
u[4]=RandomInteger[{-5,5},{1,n}][[1]]
u[5]=RandomInteger[{-5,5},{1,n}][[1]]

Construisons la matrice de travail : 

Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],
{i,n},{j,n}]//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={Det[()],-Det[()],Det[()],-Det[()],Det[()]}

Vérifions : 

u[2].v
u[3].v
u[4].v
u[5].v


* 2 *****************************************


Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3] et u[4] et u[5] :

n=5;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
u[4]=RandomInteger[{-5,5},{1,n}][[1]]
u[5]=RandomInteger[{-5,5},{1,n}][[1]]

Construisons la matrice de travail : 

mat =Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],{i,n},{j,n}];

mat//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={
+Det[            mat[[2;;5,2;;5]]],
-Det[Join[mat[[2;;5,1;;1]],mat[[2;;5,3;;5]],2]],
+Det[Join[mat[[2;;5,1;;2]],mat[[2;;5,4;;5]],2]],
-Det[Join[mat[[2;;5,1;;3]],mat[[2;;5,5;;5]],2]],
+Det[            mat[[2;;5,1;;4]]]}

Vérifions : 

u[2].v
u[3].v
u[4].v
u[5].v

* 3 *****************************************

Calculons les coordonnés d'un vecteur orthogonal à u[2] et u[3] et u[4] et u[5] :

n=5;

u[2]=RandomInteger[{-5,5},{1,n}][[1]]
u[3]=RandomInteger[{-5,5},{1,n}][[1]]
u[4]=RandomInteger[{-5,5},{1,n}][[1]]
u[5]=RandomInteger[{-5,5},{1,n}][[1]]
u[2]={-20,832,793,454,274};
u[3]={346410,13329,-112504,149818,62178};
u[4]={5361,3248,3890,-3715,-14574};
u[5]={-1,-32,22,25,-8};
GCD[]

Construisons la matrice de travail : 

mat =Table[If[i==1,FromCharacterCode[104+j],u[i][[j]]],{i,n},{j,n}];

mat//MatrixForm

Introduisons les mineurs de la première ligne  : 

v={
+Det[            mat[[2;;5,2;;5]]],
-Det[Join[mat[[2;;5,1;;1]],mat[[2;;5,3;;5]],2]],
+Det[Join[mat[[2;;5,1;;2]],mat[[2;;5,4;;5]],2]],
-Det[Join[mat[[2;;5,1;;3]],mat[[2;;5,5;;5]],2]],
+Det[            mat[[2;;5,1;;4]]]}

Vérifions : 

u[2].u[3]
u[2].u[4]
u[2].u[5]
u[3].u[4]
u[3].u[5]


</pre>
}}