??? Error using ==> ^   Matrix must be square.


De : be-nicolas@...
je suis étudiant et j'ai lu ton guide "debuter avec Matlab", et je me suis dit que tu pouvais m'aider.
voila; je veux effecteur ce programme
 
function V=ex(delta)
delta=-2*pi:0.01:2*pi;
V=cos(delta)2;
plot(delta,V);
xlabel('delta (rad)');

et il me marque tjs ce message d'erreur:
 ??? Error using ==> ^
Matrix must be square.
Error in ==> C:\Documents and Settings\Propriétaire\Mes documents\Cours Poly\Réseauxélectriques\TP n°1\ex.m
On line 5 ==> V=cos(delta)On line 5 ==> V=cos(delta)2;2;

je comprend pas pkoi il veur pas que jélève au carré


L 'explication est la suivante: le mat de Matlab signifie matrice. Par defaut, toute opération est considérée comme une opération matricielle (la somme de deux réels correspond en fait à la somme
de deux matrices de taille 1 par 1). Ainsi delta est un vecteur et cos(delta) retourne un vecteur dont les composantes sont les cosinus des termes du vecteur delta.
Par l'instruction
cos(delta)^2 
vous demandez à Matlab de faire le produit de deux vecteurs (lignes) entre eux. Ceci n'a pas de sens d'un point de vue mathématique. Si vous souhaitez obtenir un vecteur dont les
composantes sont les carrés des cosinus des termes du vecteur delta, il faut utiliser l'instruction
 cos(delta).^2
Le point servant à indiquer à Matlab que l'opération doit être effectuée sur chaque composante du vecteur prise isolément.




 

(c) Stéphane Balac - Centre de Mathématiques - INSA de Lyon.