MATLAB Answers

Brian

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

Asked by Brian
on 4 May 2013

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
on 4 May 2013

Which is the relation between the function,

    test_DistFnc 

and the call

    [dl, bt] = decsg(gd,sf,ns);

???

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.

2 Answers

Answer by Walter Roberson
on 4 May 2013
 Accepted answer

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.

  1 Comment

Brian
on 5 May 2013

That's it. Thanks for your help


Answer by Jan Simon
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
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
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)


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today