Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

"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.

Brian

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

Walter Roberson
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)

Jan Simon

Contact us