Produit de matrice

Thierry -  
 Thierry -
Bonjour,

J'ai un produit de matrices à effectuer dont une est une matrice diagonale avec des exponentielle dépendant de la variable de temps t. En fait le résultat de cette multiplication est censée me donner une matrice colonne et je dois tracer l'évolution avec le temps de la première ligne de la matrice ainsi obtenue.
Mais le problème c'est que matlab refuse de faire la multiplication car : "Undefined function or variable 't' "

B=[exp(omega(1)*t) 0 0 0 0 0 0
0 exp(omega(2)*t) 0 0 0 0 0
0 0 exp(omega(3)*t) 0 0 0 0
0 0 0 exp(omega(4)*t) 0 0 0
0 0 0 0 exp(omega(5)*t) 0 0
0 0 0 0 0 exp(omega(6)*t) 0
0 0 0 0 0 0 exp(omega(7)*t)];

psy=gamma*B*igamma*psy0;

B c'est la matrice diagonale et gamma igamma et psy0 sont respectivement des matrices 7x7 7x7 et 7x1

2 réponses

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
logique, il faut déclarer "t" comme étant une variable au préalable.
Ou alors définir une fonction B() donnant une matrice.
0
Thierry
 
Merci pour la réponse mais comment fait on pour déclarer t comme étant une variable amenée à varier justement et pouvoir ainsi faire effectuer le simple calul de multiplication matricielle par matlab pour au final pouvoir obtenir la variation avec t.
Car si je la déclare à l'aide de la commande :
global t
cela ne fonctionne pas.

Merci d'avance!
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
En théorie, tu es sensé te faire le calcul à la main avant de mettre dans Matlab : gain de temps de calcul. Je pense que tu n'utilises pas la bonne méthode, mais passons.
Je pense qu'il faut que tu utilises "syms t;" https://www.mathworks.com/help/symbolic/index.html;jsessionid=b912277a4db7df7d4bc298887d17?/access/helpdesk/help/toolbox/symbolic/brvfu8o-1.html=&http://www.mathworks.com/cgi-bin/texis/webinator/search/=
global à un autre sens ! https://www.mathworks.com/help/matlab/index.html;jsessionid=b912a3741e86bbe8a6ff7995ef44?/access/helpdesk/help/techdoc/ref/global.html=&http://www.mathworks.com/cgi-bin/texis/webinator/search/= C'est pour rendre les variables locales globales (d'où le nom...)
0
Thierry
 
Oui mais je n'ai pas tout détaillé dans mon message. La matrice gamma est obtenue après un calcul effectué sous matlab. Mais en tout cas merci pour tes précieux conseils. Je vais essayer de terminer mon travail dans ce sens!
0