Bonjour,
voici la matrice ci dessous,
[5−λ, −1, −2 ;−1 ,1−λ ,4 ;−2 ,4, 2−λ]
je viens seulement de commencer Matlab, et je voudrais savoir comment Tracez l’´evolution de la valeur du determinant en fonction de λ. pour λ de -10 à 10.
merci
-----
12/11/2017, 11h03
#2
Antoane
Responsable technique
Date d'inscription
août 2007
Localisation
Kiel
Âge
33
Messages
19 014
Re : matlab
Bonjour,
Plusieurs méthodes possibles :
- calculer (analytiquement) le déterminant de cette matrice en fonction de λ puis tracer la fonction ;
- utiliser une boucle for λ=... et calculer la valeur de la matrice et de son déterminant à chaque itération (valeurs qui ne dépendront pas de λ) puis tracer le résultat ;
- utiliser le calcul symbolique sous matlab. https://fr.mathworks.com/help/symbol....mathworks.com
- etc.
La seconde méthode n'est pas la plus élégante, mais la plus simple à comprendre et coder.
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
12/11/2017, 11h11
#3
invite445eea5c
Date d'inscription
janvier 1970
Messages
284
Re : matlab
OUI la 2eme me parait pas mal avec une boucle,
for lamba[-10,10]
et la afficher le det(A)
end
mais comment faire apparaître la figure qui me donne la courbe
12/11/2017, 11h36
#4
Antoane
Responsable technique
Date d'inscription
août 2007
Localisation
Kiel
Âge
33
Messages
19 014
Re : matlab
Un gros avantage de Matlab, c'est que beaucoup de monde l'utilise. On trouve donc énormément d'exemples de code sur internet, il suffit de demander à Google (de préférence en anglais).
Ici, une solution classique consistera à créer un vecteur de longueur "le nombre de valeurs de lambda que tu voudras tester" et de remplir ce vecteur peu à peu : une valeur en est calculée à chaque itération.
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
Aujourd'hui
A voir en vidéo sur Futura
12/11/2017, 11h48
#5
invite445eea5c
Date d'inscription
janvier 1970
Messages
284
Re : matlab
ah d'accord, mais dans quelle partie de dois parler du déterminant . apres la boucle ou avant ?
12/11/2017, 12h50
#6
Antoane
Responsable technique
Date d'inscription
août 2007
Localisation
Kiel
Âge
33
Messages
19 014
Re : matlab
Envoyé par yuuuu
OUI la 2eme me parait pas mal avec une boucle,
for lamba[-10,10]
et la afficher le det(A)
end
mais comment faire apparaître la figure qui me donne la courbe
détaille le code que tu entends utiliser.
en pseudo-code si tu ne connais pas suffisament bien la syntaxe matlab.
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
12/11/2017, 13h05
#7
invite445eea5c
Date d'inscription
janvier 1970
Messages
284
Re : matlab
figure(1)
for lambda [-10,10]
x=det(A)
disp(['La variable x vaut : ' num2str(x)]);
end
hold on
12/11/2017, 13h14
#8
Antoane
Responsable technique
Date d'inscription
août 2007
Localisation
Kiel
Âge
33
Messages
19 014
Re : matlab
Bonjour,
1. Relis la page sur le fonctionnement des boucles for ;
2. Essayes de te mettre à la place de ton ordinateur et de voir comment il va comprendre ton code, ligne après ligne :
ligne 1 : On fabrique une figure que l'on appelle "figure n° 1"
ligne 2 : c'est le début d'une boucle, dans laquelle c'est une variable appellée "lambda" qui va varier.
pour la première itération de la boucle, lambda vaut ... (à toi de remplir)
ligne 3 : on assigne à une nouvelle variable x la valeur du déterminant de A, qui est une variable...
à toi de poursuivre, au moins de tête, jusqu'à avoir fait les [je ne sais pas combien] d'itérations de la boucle et d'être arrivé à "hold on".
3. lancer le programme :
- vérifier qu'il fait ce qu'il doit faire ;
- lire, interpréter et comprendre les messages d'erreurs renvoyés par Matlab. Ceux-ci sont généralement assez explicites, google peut t'aider à les interpréter si besoin.
Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.
12/11/2017, 13h22
#9
invite445eea5c
Date d'inscription
janvier 1970
Messages
284
Re : matlab
figure
lambda=-10
for lamba = [-10;10]
****lambda= lamba+1
end
det(A)
plot(det(A));
je dois mettre les valeurs de lambda dans la boucle , mais je dois aussi mettre le calcule du determinant , ou a la fin apres la boucle ?