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

1 vue (au cours des 30 derniers jours)
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 commentaires
per isakson
per isakson le 4 Mai 2013
Which is the relation between the function,
test_DistFnc
and the call
[dl, bt] = decsg(gd,sf,ns);
???
Image Analyst
Image Analyst le 4 Mai 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.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 4 Mai 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.

Plus de réponses (1)

Jan
Jan le 4 Mai 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 commentaires
Brian
Brian le 4 Mai 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 le 4 Mai 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)

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by