Variable Number of Arguments

1 vue (au cours des 30 derniers jours)
Abdul Hanan Wali
Abdul Hanan Wali le 22 Juin 2022
Commenté : Image Analyst le 22 Juin 2022
following is a function which unable to run in my matlab. Kindly repair the problem and tell me.
function out = print_num(format, varagin)
out = ' ' ;
argindex = 1;
skip = false;
for ii = 1: length(format)
if skip
skip = false;
else
if format(ii) ~= '%'
out(end+1) = format(ii);
else
if ii + 1> length(format)
break;
end
if format(ii+1) =='%'
out(end+1) ='%';
else
if argindex >= nargin
error(' not enough input arguments');
end
out = [ out num2str(varagin{argindex},format(ii:ii+1))];
argindex = argindex +1;
end
skip = true;
end
end
end
end
  1 commentaire
Image Analyst
Image Analyst le 22 Juin 2022
What problem? You forgot to tell us what the problem is.
Don't call your variable "format" since that's a built-in function and can't be used as a variable name. Call it "userFormat" or something else.
And you also forgot to tell us how you called the function. How many arguments did you pass in and what were they? If you pass in, say 8 arguments, how do you parse them into separate variables? Are you expecting variables in a certain order?
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 22 Juin 2022
The special keyword is varargin not varagin

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by