0

我已经定义了一个这样的函数:

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 个参数!请帮忙。

4

2 回答 2

1

可能在某处定义了另一个libem2函数 - 在另一个文件中,或者定义interiorsquaretest.

首先,尝试运行

which libem2

在 MATLAB 提示符下,从所在的同一目录中interiorsquaretest.m查看它是否提供了您期望的文件。如果它显示另一个文件,问题就解决了。

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

于 2013-05-28T05:17:25.297 回答
0

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

于 2013-05-28T02:47:26.907 回答