salut à tous en tant que débutant matlab,j'ai besoin de nouveau d'une confirmation. J'édite un code avec interface et je me sers d'un modèle.
ci dessous une partie de mon code source. J'aurai 2 questions

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
"]% Begin initialization code - DO NOT EDIT
function varargout = Essai(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... % je crée structure
    'gui_Singleton',  gui_Singleton, ...
    'gui_OpeningFcn', @Essai_OpeningFcn, ...
    'gui_OutputFcn',  @Essai_OutputFcn, ...
    'gui_LayoutFcn',  [] , ...
    'gui_Callback',   []);
if nargin & isstr(varargin{1}) % 1ère condition
    gui_State.gui_Callback = str2func(varargin{1});%str2func('str') constructs a function handle, fhandle, for the function named in the string, 'str'.
end

if nargout %2ème condition
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
1ère question) Je sais que nargin ( nargout) me renvoie le nombre d'argument en entrée,(sortie) de ma fonction Essai
et je sais ce que fais la première condition if. Ce qui me travaille c'est la partie du code
à partir de if nargout, je n'arrive pas à savoir ce qu'elle renvoie??, Je n'arrive pas à voir
quelle genre de structure conditionnelle c'est (mes notions d'algo sont pas encore au point)??
est ce que c'est une abréviation de :
"if nargout & isstr(varargin{1})
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
" Pourriez vous m'aider à y voir plus clair?

2ème question)
les accolades{}, permettent d'indexer la cellule qu'on veut de varargin.
Donc "varargin{:}' permet d'indexer ttes les celllules allant de 1:nargout?
"[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:})."
je ne me retrouve pas dans le help de ma version Matlab.
Merçi de votre attention.