Variable Number of Arguments

3 ビュー (過去 30 日間)
Abdul Hanan Wali
Abdul Hanan Wali 2022 年 6 月 22 日
コメント済み: Image Analyst 2022 年 6 月 22 日
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 件のコメント
Image Analyst
Image Analyst 2022 年 6 月 22 日
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:

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2022 年 6 月 22 日
The special keyword is varargin not varagin

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by