2013-08-29 240 views
2
function simps() 
A=[0,0]; 
B=[0,0]; 
set_param('circuit/LINE2','Capacitance',num2str(C(1))) 
     sim('circuit') 
    B=[Real,Reactive]; 
     A=[A;B];  
end 

C是一個矩陣。它包含10個變量。像1,10,50,100隨機。它在英國。 circuit是文件名 Real Reactiveto workspace的名稱。 LINE2是RLC分支的名稱。 RLC分支僅包含電容。Matlab未定義的函數或方法'C'輸入參數類型爲'double'

我收到錯誤

「未定義的函數或方法‘C’類型 ‘雙重’的輸入參數。」

找遍了計算器,每個人都有關目錄的問題舉行了會談。但是我的所有文件都在RUN目錄中。

我做

>> which C 

它返回

C is a variable. 

所以我認爲C是在MATLAB的目錄路徑。那麼錯誤在哪裏?

回答

2

你已經做到以下

一)C作爲參數的任何運作simps()

OR

B)從工作區

評估 C

C = evalin('base', 'C');

函數在其使用之前。

另外,使用evalevalin通常是不鼓勵的,因爲它會讓您的代碼更難以遵循和重複使用。

提示:

你可能想都喜歡以下

function simps(C) 
if nargin == 0 
    C= evalin('base', 'C'); 
end 
% Your code 
+0

是傳遞變量作爲參數的工作結合起來。但爲什麼會出現這種錯誤?當我使用腳本時,它運行良好,但在功能上它沒有。 – Moz

+2

@Moz腳本通常會被執行,就像直接從命令窗口運行一樣,因此可以訪問所有的工作空間變量,但是不能在工作空間中簡單地使用工作空間變量 – P0W

相關問題