Bonjour,
Je suis actuellement étudiant, en stage et je dois utiliser utiliser matlab et simulink (dont je ne connais ni ne comprends grand chose).

Mon problème est le suivant:

J'ai écrit une fonction (définie par morceaux) sous l'"editor" de MATLAB (qui fonctionne) et j'aimerais l'utiliser sous simulink. J'utilise pour cela la fonction "Embedded MATLAB function" et là, une fenêtre d'erreurs s'ouvre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 Error	EmbeddedMATLAB Function	Embedded MATLAB	Undefined function or variable 'z'. The first assignment to a local variable determines its class.Function 'Embedded MATLAB Function' (#31.142.143), line 7, column 15:"z"
Voici le script sous l'éditeur de matlab:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
function z=profil_parcours()
 
for i=1:1:50;
 
    if i<=10, z(i)=0;
    end
    if i>10 && i<=15, z(i)=z(i-1)+1;% pente de "1"
    end
    if i>15 && i<=25, z(i)=5;
    end
    if i>25 && i<=30, z(i)=z(i-1)-0.5;% pente de "-1/2"
    end
    if i>30 && i<=40, z(i)=z(i-1)+2;% pente de "2"
    end
    if i>40 && i<=50, z(i)=z(i-1);
    end
end
plot(z);title('profil parcours');ylabel('altitude en m');xlabel('distance en km');
Je le copie/colle dans le "embedded matlab editor" (sous simulink), je sauvegarde, compile et le message d'erreur s'affiche. Je ne comprends pas pourquoi ca fonctionne dans un cas et pas dans l'autre


Merci pour votre aide.