"Not enough input arguments" in a function, variables are in workspace. Any help please?

2 views (last 30 days)
I couldn't find anything like this on the forum. Sorry, this is basic. The variables are in the woekspace. The code is:
function [Dist, BdBox] = test_DistFnc(P,gd,sf,ns)
C = zeros(10,2);
h = 0;
q=0;
[dl, bt] = decsg(gd,sf,ns); Error using test_DistFnc
Not enough input arguments.
Any help would be greatly appreciated, thanks
  2 Comments
per isakson
per isakson on 4 May 2013
Which is the relation between the function,
test_DistFnc
and the call
[dl, bt] = decsg(gd,sf,ns);
???
Image Analyst
Image Analyst on 4 May 2013
Brian, you forgot to post the entire error message. You just clipped out small, and unfortunately useless, portions of it. Please post everything you see in red text.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 4 May 2013
When you give the command
test_DistFnc
you must follow it by 4 input arguments on the command line. You have not done that.
When you have a function with arguments in the "function" line, then MATLAB will not automatically use variables of that name that are in the caller's workspace or the base workspace: the values must be passed specifically.

More Answers (1)

Jan
Jan on 4 May 2013
How many input arguments are required for decsg? The partially shown error message could appear, if this function needs more than 3 inputs.
  2 Comments
Brian
Brian on 4 May 2013
Thanks for the reply. I got "[dl,bt]=decsg(gd,sf,ns)" from the mathworks.co.uk page. It is already written by them so it shouldn't need anything else. The laptop I am working on this minute doesn't have decsg function installed and it's still the exact same message,
>>test_DistFnc
Error using test_DistFnc (line 9)
Not enough input arguments.
(line 9 is the right line). I haven't written a use for dl yet but that shouldn't matter. Cheers
Brian
Brian on 4 May 2013
In case you haven't used it, decsg takes information from the PDE toolbox, and outputs decomposed geometry (dl) and a table of 1s and 0s (bt) which tells the connection between them (if one is a null area etc)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!