Matlab 当提供了足够的输入参数时,是否有一种解决方案来声明输入参数不足?

Matlab 当提供了足够的输入参数时,是否有一种解决方案来声明输入参数不足?,matlab,abaqus,Matlab,Abaqus,我有一个自定义函数,它需要两个输入参数。这是函数的开始行,清楚地表明它只需要两个输入段: function [file,frame,vertices,edges,faces,faceOrders,edgeOrders] = FOLD_reader(filename,rundocfolder) FOLD_reader函数在另一个函数(FEAfromFOLDVaryingStiffness)中调用,使用以下代码行: [~,frame,vertices,~,faces,~,~] = FOLD_re

我有一个自定义函数,它需要两个输入参数。这是函数的开始行,清楚地表明它只需要两个输入段:

function [file,frame,vertices,edges,faces,faceOrders,edgeOrders] = FOLD_reader(filename,rundocfolder) 
FOLD_reader函数在另一个函数(FEAfromFOLDVaryingStiffness)中调用,使用以下代码行:

[~,frame,vertices,~,faces,~,~] = FOLD_reader(filename,rundocfolder);
matlab声称:

Not enough input arguments.

Error in FEAfromFOLDVaryingStiffness (line 12)
[~,frame,vertices,~,faces,~,~] = FOLD_reader(filename,rundocfolder);"
但是,如果我将有问题的行复制并粘贴到命令窗口中,它将非常有效。filename和rundocfolder变量在调用FOLD_reader的feafromfoldvaryingstiff中明确定义,因为它们是FEAFromFold(etc)函数本身的输入参数之一

有没有人有过这种看似奇怪的错误的经历?对我来说,这毫无意义

如果有帮助,以下是FeAfromFoldVaryngStiffness中到错误点的线:

function [] = FEAfromFOLDVaryingStiffness(filename,meshsize,displacement,m,n,stiffnessvary,rundocfolder)
%Comments ommitted for brevity
[~,frame,vertices,~,faces,~,~] = FOLD_reader(filename,rundocfolder);

我是个白痴,我用太少的参数调用了FeAfromFoldVaryngStiffness,我遗漏了m或n之类的,所以最后一个输入变量(rundocfolder)未定义,这显示为FeAfromFoldVaryngStiffness函数中的fold_reader出错,而不是错误的实际位置:顶层脚本。

我能想到的唯一一件事是,您在其他地方声明了此函数的不同版本,特别是在您从中调用的文件中。@euransith是正确的。我的建议是在行之前设置一个断点,然后使用调试器单步执行。你会看到结果,可能不是你期望的。我是个白痴,我用太少的参数调用了FeAfromFoldVaryngStiffness,我遗漏了m或n之类的内容,因此最后一个输入变量(rundocfolder)未定义,这显示为FeAfromFoldVaryngStiffness函数中的fold_读取器出错,而不是错误的实际位置:顶层脚本。