2014-09-27 70 views
1

調用內置函數我有一個函數plot_exp_vs_sim.m具有以下行吧:MATLAB - 無法從我自己的函數

which sim %simply to show debug output 
sim('E05_model',t.time,[],[t.time,ref_input]); 

它調用Simulink模型,並提供了一些輸出。然而,每次我嘗試運行plot_exp_vs_sim,我得到下面的輸出:

built-in (/Applications/MATLAB_R2013b.app/toolbox/simulink/simulink/sim) 
Undefined function or variable "sim". 

Error in plot_exp_vs_sim (line 15) 
sim('E05_model',t.time,[],[t.time,ref_input]); 

Error in E05 (line 38) 
plot_exp_vs_sim(t,ref_input,modelname,datafile); 

所以,輸出的第一行顯示,MATLAB知道到底調用哪個函數,但不能叫它下一行。這是怎麼回事?我不認爲我有任何命名空間衝突!

+0

does [this](http://shreyagarwal.blog.com/2012/04/17/undefined-function-or-method-sim-for-input-arguments-of-type-struct/)有幫助嗎? – 2014-09-27 20:33:17

+0

不!當我向代碼中添加'%#function sim'時,似乎沒有改變任何東西。如果那件作品本身應該在'sim'函數中,那麼我無法訪問它! – 2014-09-27 21:25:37

回答

0

您是否嘗試過從命令行調用sim?它工作嗎?還值得嘗試which -all sim來檢查您是否有多個函數sim和哪一個默認情況下首先被調用。另一個嘗試的方法是將完整路徑傳遞給腳本中的函數sim