Bonjour, j'ai un algorithme a réaliser mais je n'y arrive pas du tout.
Voici mon énoncé :
On connait les coordonnées des vecteur u, v et w dans une base (i;j). En supposant que (u:v) forme une base, il s'agit de trouver les réels k et m tels que : w=ku+mv.
Merci.
J'ai oublier la question, écrire en language naturel, un algorithme permettant de déterminer les réel k et m.
Bonjour,
c'est comme d'habitude, il s'agit déja de résoudre le problème de vecteurs avant d'écrire quelque algorithme que ce soit.
As tu une idée sur comment obtenir les coordonnées de dans la nouvelle base (
,
) ?
réponse : il s'agit de résoudre un système de deux équations en m et n.
écris donc ce système, puis résous le.
Oui j'ai trouver le système :
a=kx+mx'
b=ky+my
Ce qui donne
m=ay-bx/y'-'y
k= -y'ay-ybx-b/x²yxy'
Je ne sais pas du tout si c'est sa. Mais ce qui bloque c'est de faire l'algorithme avec les tant que et if ..
K = a - (Mx') / x
a-(kx)/x'= M
Après avoir refait les calculs je trouve sa.
dans mon poste d'avant c'étais m=ay-bx/yx'-x'y
k=-y'ay-ybx-b/x²-yxy'
Déja il doit y avoir une petite erreur dans ta résolution
en partant je suppose de =(x; y),
=(x'; y') et
= (a; b)
on a bien le système :
a=kx+mx'
b=ky+my' (faute de frappe : y')
mais sa solution n'est pas " tout à fait ça"
il est clair que l'expression au dénominateur doit être pour les deux une expression nulle ssi et
colinéaires
donc au dénominateur, les deux doivent être xy' - x'y ou son opposé.
le plus simple pour résoudre ce système est par combinaison linéaire.
a = kx + mx' [1]
b = ky + my' [2]
en multipliant les deux membres de [1] par y' et les deux membres de [2] par -x' en en ajoutant, les termes en m s'éliminent et on obtient k
de même en multipliant [1] par -y et [2] par x, on obtient m
je te laisse corriger tes formules.
quant à l'algorithme, il est "direct", pas besoin de quelque boucle "tant que" ou autre que ce soit !!
il est juste "préférable" de faire un simple test sur la valeur de xy' - x'y (sinon on risque d'avoir une division par 0 !)
en appelant xu, yu et xv, yv les coordonnées de u et v (les apostrophes n'étant "pas très bien vues" comme noms de variables) :
si xu*yv - xv*yu == 0 faire
afficher "u et v colinéaires"
sinon
calculer k et m par les formules ci dessus
afficher k et m
fin si
et c'est tout ce qu'il y a dans cet algorithme !!
(avec la chair de déclaration des variables et d'entrées des valeurs)
???????
non.
a = kx + mx' [1]
b = ky + my' [2]
ay' = kxy' + mx'y' [1] multipliée par y'
-bx' = -kyx' - my'x' [2] multipliée par -x'
ay'-bx' = k(xy' - x'y) somme des deux, le terme en m est m(x'y' - x'y') = 0
k = ...
et pareil pour l'autre.
Non ! "et pareil" ça veut dire : et faire des calculs semblables, de résultat différent !!
le numérateur est différent, et comme déja signalé le dénominateur est forcément le même pour k et m !!!
Ce dénominateur lorsqu'il est nul signifie que et
sont colinéaires (et donc qu'il est impossible de trouver k et m car
et
ne forment pas une base)
rien compris à ta salade.
a = kx + mx' [1]
b = ky + my' [2]
-ay = -kxy - mx'y [1] multipliée par -y
bx = kyx + my'x [2] multipliée par x
bx - ay = m(xy' - x'y) somme des deux, le terme en k est k(xy - xy) = 0
et donc m = (...)/(...) (sans écrire d'aneries, niveau 4ème !)
Voila.
la partie "mathématique" est faite :
étant données les coordonnées de (x; y), de
(x'; y') et de
(a; b) dans la base
,
les coordonnées de dasn la base
,
sont
(m; k)
k = (ay' - bx')/(xy' - x'y) et
m = (bx - ay)/(xy' - x'y)
l'algorithme est alors "directement" comme indiqué précédemment la simple traduction de ces formules (ce n'est "même pas" un "algorithme", c'est la traduction d'un simple calcul !!)
Assortie du test de la valeur de xy' - x'y pour éviter de sortir salement une erreur "division par 0" si jamais les valeurs entrées sont avec et
colinéaires.
et les "primes" étant à remplacer par des lettres dans les noms de variables :
xu, yu, xv, yv, xw, yw au lieu de x,y,x',y',a,b pour être cohérent jusqu'au bout.
D'accord je n'est pas trop le temps ce soir, demain je ferais l'algorithme et je vous le ferais parvenir
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :