2013-05-28 139 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