Fonction MATLAB et matrice

Résolu/Fermé
Vince - 22 avril 2008 à 15:39
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 22 avril 2008 à 22:53
Bonjour,

J'essaye de faire une fonction dans matlab qui me renvoie 3 matrices. J'ai la fonction suivante :

function [p1,p2,p3] = transfos(p)

T1 = matrice_t(1/3, 0); % transfo translation x +1/3
T2 = matrice_t(-1/3, 0); % transfo translation x -1/3
T3 = matrice_t(0, 2/3); % transfo translation y +2/3

p1 = T1*p;
p2 = T2*p;
p3 = T3*p;

Où T1, T2, T3, p sont des matrices 1 ligne trois colonnes.
Le problème c'est que j'ai l'erreur suivante :

??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> transfos at 7
p1 = T1*p;

J'arrive à faire une fonction qui me renvoie une variable simple, mais pas une matrice.
Merci pour votre aide

1 réponse

Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 834
22 avril 2008 à 22:53
Salut
Oui c'est normal, tu peux pas multiplier deux matrices 1x3 ensemble, mathématiquement c'est pas défini.
Si c'est le produit membres à membres que tu cherches à faire, c'est:
p1 = T1.*p;
p2 = T2.*p;
p3 = T3.*p;

A plus
2