我已经定义了这样的函数:
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
的函数的辅助函数。因此,当我尝试在libem2
中拨打interiorsquaretest
时,就像这样:
[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
所在的同一目录,并查看它是否提供了您期望的文件。如果它显示另一个文件,问题就解决了。
如果没有,请查看您的libem2
文件中是否定义了其他interiorsquaretest.m
。
答案 1 :(得分:0)
您可能在路径设置中的某处有另一个文件,名称相同,参数数量不同。