Variable Number of Arguments

1 visualizzazione (ultimi 30 giorni)
Abdul Hanan Wali
Abdul Hanan Wali il 22 Giu 2022
Commentato: Image Analyst il 22 Giu 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 Commento
Image Analyst
Image Analyst il 22 Giu 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:

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 22 Giu 2022
The special keyword is varargin not varagin

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by