Matlab-fonction

ecrithops Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Antho -
Bonjour,

Je dois présenter un un projet en fin d'année sur les surfaces de subdivisions, cependant , j'ai rencontré un problème lors de la programmation d'une fonction sous matlab (je suis encore un débutant)

voici les lignes de code:

function W=doo_sabin(M);
[n,m]=size(M);
for i=1:(n-1)
for j=1:(m-1)/3
W(2*i-1,6*j-5:6*j-3)=(9*M(i,3*j-2:3*j)+3*M(i+1,3*j-2:3*j)+M(i+1,3*j+1:3*j+3)+3*M(i,3*j+1:3*j+3))/16;
W(2*i,6*j-5:6*j-3) =(3*M(i,3*j-2:3*j)+9*M(i+1,3*j-2:3*j)+3*M(i+1,3*j+1:3*j+3)+M(i,3*j+1:3*j+3))/16;
W(2*i-1,6*j-2:6*j)=(3*M(i,3*j-2:3*j)+M(i+1,3*j-2:3*j)+3*M(i+1,3*j+1:3*j+3)+9*M(i,3*j+1:3*j+3))/16;
W(2*i,6*j-2:6*j) =(M(i,3*j-2:3*j)+3*M(i+1,3*j-2:3*j)+9*M(i+1,3*j+1:3*j+3)+3*M(i,3*j+1:3*j+3))/16;
end
end


Mais voici le message d'erreur que je reçois:

??? function W=doo_sabin(M);
|
Error: Function definitions are not permitted at the prompt or
in scripts.





Comment pourrais-je procéder pour régler ce problème ?

Merci chaleureusment pour votre aide :)
A voir également:

1 réponse

Antho
 
Bonjour,

Bon alors déjà au niveau de la syntaxe d'une fonction sous matlab, il ne faut pas de point-virgule sur la ligne de déclaration de la fonction :

function W=doo_sabin(M)

Ensuite il faut mettre end à la fin de la fonction donc ici il t'en manque un.

Tu peux regarder avec ça si ça marche déjà... Après tes matrices M seront de quelle forme? Au vu de ton programme ca ne peut pas marcher pour tout!!

Ciao!

Antho
0