Bonjour à tous,
J'effectue un produit de deux matrices sur Matlab qui sont A et B à l'aide de la fonction Matlab donc en faisant juste (A*B). Le résultat est rangé dans la matrice C. Je récupère mes 3 matrices dans un fichier binaire que je viens lire sur un logiciel de programmation pour carte FPGA. Sur ce logiciel de programmation j'ai codé une fonction qui fait une multiplication de matrice. J'obtiens donc une nouvelle matrice C que je viens comparer avec mon modèle (Matlab). Cependant je remarque qu'il y a une différence sur mes deux résultats qui est très minime (sur Octave 439,497894 et en C j'ai 439,497803). Je fais une boucle qui compare le résultat donnée par la fonction Matlab et celui donné par ma fonction et je fais un printf quand sa correspond pas. On me demande donc de regarder l'erreur relative à 10^-6.
J'ai pensé à calculer mon erreur relative dans ma boucle de cette façon : err_relative = (valeur_approchee - valeur_du_modele) / |valeur_du_modele|
Cependant je trouve que des 0 pour mon erreur relative. Pouvez vous svp me donner une piste pour pouvoir comprendre ce que veux vraiment dire regarder l'erreur relative à 10^-6. L'objectif étant que mon compilateur qui compare ma valeur de mon modèle (Matlab) et celle calculée par ma fonction en C m'affiche pas une erreur pour un si tout petit écart.
Merci à tous, bonne journée.
-----