Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

un algo sympa sur casio

Posté par Profil amethyste 10-10-13 à 22:51

Bonjour
voici un premier petit algo de 540 pas sur Casio Graph 100+

l'exécution de ce programme n'affiche aucune données pour avoir le résultat de ce que donne l'exécution du programme il faut afficher expressement les données sur un autre programme ou sur la zone RUN-MATH dans la partie MENU

on entre deux matrices Mat V et Mat W dont les composantes sont des rationnels de mêmes dimensions vectorielle n (donc ces deux matrices ont le même nombres de lignes) et de dimension sectorielle 1(donc ces deux matrices ont une seule colonne)

ces deux matrices Mat V et Mat W représentent deux vecteurs de l'espace vectoriel euclidien \mathbb {R}^n, les composantes rationnelles représentent des nombres réels

remarque sur la marge d'erreur:
la machine calcule sur une mantisse de 15 chiffres
ce qui signifie qu'il existe une marge d'erreur possible dans l'execution du programme par exemple
en supposant que x=0 où x est un réel (donc un rationnel pour la machine) cela ne signifie pas que pour la machine x soit nul
on remplace une condition de type:
Si x=0 alors ...
par:
Si |x| < 10^{-7} alors ...

par contre en posant que x=0 alors ici x est un entier naturel dans ce cas précis alors cela signifie aussi que x=0 pour la machine

EXPLICATION ET CONVENTIONS DE NOTATION MATHEMATIQUES
voici une courte explication et cinq conventions de notation pour la description mathématique de ce programme

Les éléments d'un R-espace vectoriel euclidien sont des vecteurs que l'on note \vec {V} \in \mathbb {R}^n et dont les composantes sont des nombres réels

L'espace vectoriel euclidien \mathbb {R}^n est muni du produit par un scalaire selon \lambda .\vec {V} \in \mathbb {R}^n
\lambda \in \mathbb {R} désigne le scalaire
le réel 1 est l'element neutre du produit par un scalaire

L'espace vectoriel euclidien \mathbb {R}^n est muni de l'addition  selon \vec {V} + \vec {W}\in \mathbb {R}^n
le vecteur nul est l'element neutre de l'addition
par convention on note  \vec {0} le vecteur nul

L'espace vectoriel euclidien \mathbb {R}^n est muni du produit scalaire selon \vec {V} . \vec {W}\in \mathbb {R}

par ailleurs pour tout vecteur \vec {V} de l'espace vectoriel euclidien on note ||\vec {V}||= \sqrt {\vec {V}^2} la norme de ce vecteur

enfin pour tout vecteur non nul \vec {V}\neq \vec {0} de l'espace vectoriel euclidien alors l'unitaire de ce vecteur est donné par l'expression
\displaystyle \frac {\vec {V}}{||\vec {V}||}

toute matrice A de dimension vectorielle n (donc ayant n lignes ) et de dimension sectorielle 1 (donc ayant une seule colonne)
et dont les composantes a_{ij} \in \mathbb {R} peut représenter un vecteur de l'espace vectoriel euclidien \mathbb {R}^n

en considérant l'algebre sur les matrice on peut poser les trois équivallences E1,E2 et E3 selon:

E1:le produit par un scalaire
soit une matrice V représentant un vecteur \vec {V} alors:
\lambda .\vec {V}\equiv \lambda .V

E2:l'addition
soient deux matrices V et W  représentants deux vecteurs \vec {V} et \vec {W} alors:
\vec {V} + \vec {W} \equiv V+W

E3:le produit scalaire
soient deux matrices V et W  représentants deux vecteurs \vec {V} et \vec {W} alors:
\vec {V}.\vec {W} \equiv V^t.W

V^t designe la matrice transposée de la matrice V  

Soient deux vecteurs non nuls \vec {V} et \vec {W}  de l'espace vectoriel euclidien \mathbb {R}^n
on peut établir les quatre équivallences logiques I,II,III,IV suivantes

equivallence logique I
<<  \vec {V}^2.\vec {W}^2 \neq 0  >> <==> << les vecteurs \vec {V} et \vec {W} sont non nuls  >>

ce qui signifie que si on verifie \vec {V}^2.\vec {W}^2 = 0
alors soit \vec {V}=\vec {0}  
soit \vec {W}=\vec {0}
soit à la fois \vec {V}=\vec {0} et à la fois \vec {V}=\vec {0}

equivallence logique II
<<   \vec {V}^2.\vec {W}^2 \neq 0   ET   (\vec {V}.\vec {W})^2-\vec {V}^2.\vec {W}^2 =0    >> <==> <<    les vecteurs \vec {V} et \vec {W} sont colineaires    >>

equivallence logique III
<< \vec {V}^2.\vec {W}^2-(\vec {V}.\vec {W})^2\neq 0   >> <==> <<    les vecteurs \vec {V} et \vec {W} forment un plan de \mathbb {R}^n >>

equivallence logique IV
<<  \vec {V}^2.\vec {W}^2 \neq 0   ET   \vec {V}.\vec {W} =0 >> <==> <<     les vecteurs \vec {V} et \vec {W} sont orthogonaux   >>

et cinq notations mathematiques

1:  on pose l'application f:\mathbb {R}^n \times \mathbb {R}^n ->\mathbb {R} selon:f(\vec {V},\vec {W})=\vec {V}^2.\vec {W}^2-(\vec {V}.\vec {W})^2

2:  on pose la fonction g:\mathbb {R}^n \times \mathbb {R}^n ->\mathbb {R}_+^* selon:g(\vec {V},\vec {W})=\displaystyle   \sqrt {\displaystyle \frac {\vec {V}^2.\vec {W}^2-(\vec {V}.\vec {W})^2}{u}}
avec u=(\vec {V}^2.\vec {W})^2.\vec {V}^2+((\vec {V}.\vec {W}).\vec {V})^2.\vec {V}^2-2.(\vec {V}.\vec {W})^2.\vec {V}^2.\vec {V}^2

3:  on pose l'application \mathbb {R}^n \times \mathbb {R}^n ->\mathbb {R}^n que l'on note : \vec {V}\times \vec {W}=\vec {V}^2.\vec {W}-(\vec {V}.\vec {W}).\vec {V}

4:  on pose la fonction \mathbb {R}^n \times \mathbb {R}^n ->\mathbb {R}^n que l'on note : \vec {V}*\vec {W}=g(\vec {V},\vec {W}).(\vec {V}\times \vec {W})

5:pour deux vecteurs \vec {V} et \vec {W} non nuls
on pose la notation \varphi qui désigne l'angle formé par ces deux vecteurs et donné en radians on verifie

0 \leq \varphi \leq \pi

\displaystyle  \varphi = arccos \begin {pmatrix} \displaystyle  \frac {\vec {V}.\vec {W}}{\displaystyle \sqrt {\vec {V}^2.\vec {W}^2} } \end {pmatrix}

\displaystyle cos(\varphi )=\frac {\vec {V}.\vec {W}}{\displaystyle  \sqrt {\vec {V}^2.\vec {W}^2}}

\displaystyle sin(\varphi )=\sqrt {\displaystyle \frac {\vec {V}^2.\vec {W}^2-(\vec {V}.\vec {W})^2}{\vec {V}^2.\vec {W}^2}}

COMPLEMENT DE GEOMETRIE

Soient deux vecteurs non nuls \vec {V} et \vec {W}  de l'espace vectoriel euclidien \mathbb {R}^n  

I on verifie \vec {V}.\vec {W}=||\vec {V}||.||\vec {W}||.cos(\varphi )

II lorsque ces deux vecteurs sont colineaires donc lorsque à la fois    \vec {V}^2.\vec {W}^2 \neq 0   et à la fois   (\vec {V}.\vec {W})^2-\vec {V}^2.\vec {W}^2 =0 alors:

-lorsque \vec {V}.\vec {W}-\sqrt {\vec {V}^2.\vec {W}^2}=0 cela signifie que les deux vecteurs ont mêmes direction et sens et dans ce cas on verifie cos(\varphi )=0

-lorsque \vec {V}.\vec {W}+\sqrt {\vec {V}^2.\vec {W}^2}=0 cela signifie que les deux vecteurs ont mêmes direction mais de sens opposés et dans ce cas on verifie cos(\varphi )= \pi

III lorsque ces deux vecteurs forment un plan donc lorsque \vec {V}^2.\vec {W}^2-(\vec {V}.\vec {W})^2\neq 0   alors

-la fonction g:\mathbb {R}^n \times \mathbb {R}^n ->\mathbb {R}_+^* possède une image sur \mathbb {R}_+^*

-la fonction \vec {V}*\vec {W}:\mathbb {R}^n \times \mathbb {R}^n ->\mathbb {R}^n possède une image sur \mathbb {R}^n

-les vecteurs \vec {V} et  \vec {V}\times \vec {W} sont orthogonaux

-les vecteurs \vec {V} et  \vec {V}* \vec {W} sont orthogonaux

-les vecteurs \vec {V}\times \vec {W}  et  \vec {V}* \vec {W} sont colineaires

-on verifie ||\vec {V}* \vec {W}||=||\vec {W}||.sin(\varphi )

DESCRIPTION MATHEMATIQUE DU PROGRAMME

en executant le programme on obtiens un entier naturel e \in \mathbb {N}_{5}=\{0,1,2,3,4,5\}

-lorsque e=0 cela signifie que les deux vecteurs \vec {V} et  \vec {W} sont nuls

-lorsque e=1 cela signifie que les deux vecteurs \vec {V} et  \vec {W} sont colineaires et ont mêmes directions et sens

on obtiens les variables a,b,c,x,y,z et les matrices Mat P et Mat Q qui représentent respectivement les vecteurs unitaires de \vec {V} et  \vec {W} les variables a,b,c,x,y,z selon:
 a \equiv \vec {V}^2
 b \equiv \vec {W}^2
 c \equiv \vec {V}.\vec {W}
 x \equiv cos(\varphi )=1
 y \equiv sin(\varphi )=0
 z \equiv \varphi =0

-lorsque e=2 cela signifie que les deux vecteurs \vec {V} et  \vec {W} sont colineaires et ont mêmes directions mais de sens opposés

on obtiens les variables a,b,c,x,y,z et les matrices Mat P et Mat Q qui représentent respectivement les vecteurs unitaires de \vec {V} et  \vec {W} les variables a,b,c,x,y,z selon:
 a \equiv \vec {V}^2
 b \equiv \vec {W}^2
 c \equiv \vec {V}.\vec {W}
 x \equiv cos(\varphi )=-1
 y \equiv sin(\varphi )=0
 z \equiv \varphi =\pi

-lorsque e=3 cela signifie que les deux vecteurs \vec {V} et  \vec {W} sont orthogonaux

on obtiens les variables a,b,c,u,x,y,z
et les matrices Mat P et Mat Q qui représentent respectivement les vecteurs unitaires de \vec {V} et \vec {W}
et les matrices Mat Z et Mat R qui représentent respectivement le vecteur  \vec {V}*\vec {W} et le vecteur unitaire de \vec {V}*\vec {W}
les variables a,b,c,u,x,y,z selon:
 a \equiv \vec {V}^2
 b \equiv \vec {W}^2
 c \equiv \vec {V}.\vec {W}
 u \equiv ||\vec {V}*\vec {W}||
 x \equiv cos(\varphi )=0
 y \equiv sin(\varphi )=1
 z \equiv \varphi =\frac {\pi }{2}

-lorsque e=4 cela signifie que les deux vecteurs \vec {V} et  \vec {W} forment un angle aigus

on obtiens les variables a,b,c,u,x,y,z
et les matrices Mat P et Mat Q qui représentent respectivement les vecteurs unitaires de \vec {V} et \vec {W}
et les matrices Mat Z et Mat R qui représentent respectivement le vecteur  \vec {V}*\vec {W} et le vecteur unitaire de \vec {V}*\vec {W}
les variables a,b,c,u,x,y,z selon:
 a \equiv \vec {V}^2
 b \equiv \vec {W}^2
 c \equiv \vec {V}.\vec {W}
 u \equiv ||\vec {V}*\vec {W}||
 x \equiv cos(\varphi )
 y \equiv sin(\varphi )
 z \equiv 0 <\varphi < \frac {\pi }{2}

-lorsque e=5 cela signifie que les deux vecteurs \vec {V} et  \vec {W} forment un angle obtus

on obtiens les variables a,b,c,u,x,y,z
et les matrices Mat P et Mat Q qui représentent respectivement les vecteurs unitaires de \vec {V} et \vec {W}
et les matrices Mat Z et Mat R qui représentent respectivement le vecteur  \vec {V}*\vec {W} et le vecteur unitaire de \vec {V}*\vec {W}
les variables a,b,c,u,x,y,z selon:
 a \equiv \vec {V}^2
 b \equiv \vec {W}^2
 c \equiv \vec {V}.\vec {W}
 u \equiv ||\vec {V}*\vec {W}||
 x \equiv cos(\varphi )
 y \equiv sin(\varphi )
 z \equiv \frac {\pi }{2} <\varphi < \pi

CODE

(Trn Mat V) X Mat V -> Mat Z : Mat Z[1,1] -> a : (Trn Mat W) X Mat W -> Mat Z :
Mat Z[1,1] -> b : Abs (a X b)-> d : 10^-7 -> e : IF d < e : Then 0 -> e : Return : IFend :
(Trn Mat V) X Mat W -> Mat Z : Mat Z[1,1] -> c : (\sqrt {a})^{-1} X Mat V -> Mat P :
(\sqrt {b})^{-1} X Mat W -> Mat Q : c / \sqrt {(a \times b)} -> x :
cos ^{-1}x -> z : z -> f :  \sqrt {(((a \times b)- c^2)/(a \times b))}-> y :
 Abs ((a \times b)- c^2 )-> d :  10^-7 -> e : IF d < e : Then Goto 1 : IFend :
(a X Mat W)-(c X Mat V) -> Mat Z : a X Mat W  -> Mat O : (Trn Mat O) X Mat O -> Mat O : Mat O[1,1] -> d :
c X Mat W  -> Mat O : (Trn Mat O) X Mat O -> Mat O : Mat O[1,1] -> e : (Trn Mat Z) X Mat Z -> Mat O : Mat O[1,1] -> o :
\sqrt {(((a \times b)- c^2)/(( d\times a)+(e \times a)-( 2\times c^2 \times a^2)))}-> z :
z X Mat Z  -> Mat Z : \sqrt {(((a \times b)- c^2)/A) -> u : u^{-1} \times Mat Z -> Mat R :
Abs c -> d : 10^-7 -> e : f -> z : IF d < e : Then 3 -> e : Return : IFend : IF c > 0 : Then 4 -> e : Else 5 -> e : Ifend : Return
Lbl 1 : IF c > 0 : Then 1 -> e : Else 2 -> e / IFend : Return  

Posté par Profil amethystere : un algo sympa sur casio 26-05-14 à 18:04

toujours avec cette même machine encore un autre algo sympa (programme très court de 5 lignes avec un sous programme de 5 lignes ) à la fin de ce fil
orthogonaliser une base là Orthonormalisation d'une famille de vecteurs.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !