Bonjour, je suis débutant sur le logiciel MATLAB, je travail sur un modèle de la batterie depuis quelques jours mais je n'arrive pas à trouver la solution à mon problème.
Lorsque j'évalue ma fonction on me dit que ''la fonction définie ne pas permit* dans ce contexte''.
Vous trouverez ci-joint la fonction à exécuter et l'erreur qui m'affiche.
S'il vous plait aidez moi à trouver la solution à ce problème

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
20
21
22
23
24
25
26
27
28
29
30
31
32
function [ Vb_cell, SOC ] = Calc_Battcell( Qmax_cell, Q, Ib_cell )
%Ce programme informatique permet de calculer la tension aux %bornes d'une
% cellule de batterie en fonction de l'intensité qui y entre(charge) ou qui en %sort(décharge) et de la
% profondeur de décharge
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Declaration des constantes du modèle
Esc=2.25; Esd=2.10; Gc=0.08; Gd=0.08; Mc=0.864; Md=1.0; Idi=2.5; Kdi=29.3; rdmt=0.95; Cp=1;
Voc=(Esc+Esd)/2;Qmax_cell=1030;Ib_cell=5.14;Q=1030;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Calcul des paramètres dépendant de Qmax_cell
Qc=-0.035*Qmax_cell; Qd=Qmax_cell/0.85; Rsc=3.0/Qmax_cell; Rsd=0.5/Qmax_cell;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Matrices Q M G Rs Ces matrices ont été créées pour réduire les lignes du programme
Qmat=[Qd Qc]; M=[Md Mc]; G=[Gd Gc]; Rs=[Rsd Rsc];
%Calcul de l'indice ind qui permettra d'indexer chaque élément des matrices précedentes
% ind=1 si I<=0 (décharge) et ind=2 si I>0 (charge)
ind=0.5*(sign(Ib_cell)+3- abs(1-abs(sign(Ib_cell))));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Tension aux bornes de la diode
Vdi=(1/Kdi)*log((abs(Ib_cell)/Idi)+1);
%Calcul du niveau de charge SOC
SOC=Q/Qmax_cell;
%Profondeur de la décharge H
H=1-SOC;
%Resistance interne R(H)
R=Rs(ind)*(1+((M(ind)*H)/((Qmat(ind)/Qmax_cell)-H)));
%Tension aux bornes d'une cellule
Vb_cell=Voc+Vdi*sign(Ib_cell)-G(ind)*H+Ib_cell*R;
 
end
 
end
 function [ Vb_cell, SOC ] = Calc_Battcell( Qmax_cell, Q, Ib_cell )
 ↑
Error: Function definitions are not permitted in this context.