2014-09-27 47 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