No hay una muy buena respuesta en este momento. Si solo quiere definir una variable simple que se ve en su área de trabajo, entonces
f00 = 88;
obviamente funciona. Pero esto no se verá dentro de otras funciones. Entonces, podrías definirlo como una variable global, pero luego debes declarar cada variable como global dentro de cada función que la necesitará. Para mí esto parece un error. Un poco mejor en mi humilde opinión, es definir una función m-file para foo.
function returnvalue = f00
% returns the scalar value of 88
returnvalue = 88;
(Tenga en cuenta que tengo una línea de comentario aquí. Este es devuelto cuando se llama ayuda foo, así, lookfor a ver esa línea también. Se recomienda una mejor ayuda que esto, pero estoy perezoso en este momento .)
Siempre que foo.m esté en su ruta de búsqueda, esto siempre devuelve el valor 88. Tenga en cuenta que no he incluido ningún argumento. Pero podría ser más creativo, y quizás permitir un argumento de tamaño, para que foo (N) se comporte como ceros, unos y ojo. Esto es lo bueno de usar una función aquí. Puede hacer exactamente lo que desee. Entonces quizás ...
function returnvalue = f00(varargin)
% returns the scalar value of 88, or replicated elements if a size is supplied
% usage: foo
% usage: foo(N)
% usage: foo(N1,N2,...)
%
% arguments:
% N - a scalar or vector that denotes the number
% of repeated elements (all 88) to be generated
%
% returnvalue - a scalar (or vector/array) of
% size indicated by N.
%
% see also: ones, zeros, eye
if (nargin == 0)
% no arguments, so return a scalar 88
returnvalue = 88;
elseif (nargin == 1) && isscalar(varargin{1})
% be consistent with ones, zeros, eye, etc.
returnvalue = repmat(88,[varargin{1},varargin{1}]);
elseif (nargin == 1)
% the size is a vector already
if isvector(varargin{1})
returnvalue = repmat(88,varargin{1});
else
error('FOO:impropersize','Size argument cannot be a general array')
end
elseif
% nargin must have been more than 1
returnvalue = repmat(88,cell2mat(varargin));
end
Probablemente podría hacer un mejor error al verificar arriba, pero debería tener una idea general.
preguntas relacionadas: http://stackoverflow.com/questions/1773850/constants-in-matlab y http://stackoverflow.com/questions/1389042/how-do-i-create-enumerated -types-in-matlab – Amro
Lo siento, mi respuesta fue basura. Lo borré. – Peter
Es curioso que diga eso, Peter, terminé haciendo eso con globals. –