2013-05-28 145 views
0

我已经定义了一个函数是这样的:MatLab的错误:有太多的输入参数

function [phi_D,phi_S,v_S] =libem2(n_D,p_D,n_S,vertpts_S,elemvert_S,alpha_S,beta_S,f_S) 

显然libem2发生在8个参数。该函数实际上是另一个名为interiorsquaretest的函数的辅助函数。所以,当我尝试调用libem2interiorsquaretest这样的:

[phi_D, phi_S,v_S] =libem2(5,points,32,vertpts,elemvert,a,b,F); 

我收到一个错误说:

Error using libem2 
Too many input arguments. 

Error in interiorsquaretest (line 73) 
     [phi_D, phi_S,v_S] =libem2(5,points,32,vertpts,elemvert,a,b,F); 

这怎么可能!我传递8个参数,libem2期待8个参数!请帮忙。

回答

0

您的路径设置中可能有另一个文件,具有相同的名称和不同数量的参数。

1

可能还有另一个libem2函数在某处定义 - 要么在另一个文件中,要么在相同的文件中定义interiorsquaretest

首先,尝试运行

which libem2 

在MATLAB提示符下,从同一目录interiorsquaretest.m生活中,看看它给您所期望的文件。如果它显示另一个文件,则解决问题。

如果不是,请查看您的interiorsquaretest.m文件中是否定义了另一个libem2