当前位置: 代码迷 >> 其他开发语言 >> matlab Missing variable or function
  详细解决方案

matlab Missing variable or function

热度:3497   发布时间:2013-02-26 00:00:00.0
求助 matlab Missing variable or function.
在学习matlab的过程中,遇到如下问题:
??? Error: File: D:\学习盘\论文\4拓展\4拓展仿真5\main_pso.m Line: 26 Column: 3
Missing variable or function.

Error in ==> main at 33
[ARCH_PE,ttt]=main_pso(X,Y,M,X_val,St_Ta,ds,deep);

我在另外一个m文件中定义了main_pso函数
function [ARCH_PE,ttt]=main_pso(X,Y,M,Y_val,St_Ta,ds,deep)   %PSO主程序

出现这个问题好久了,一直没能解决,希望大家帮助帮助我!谢谢


------解决方案--------------------------------------------------------
这个好像很难,帮你顶
------解决方案--------------------------------------------------------
你调用了一个函数,这个函数没有在当前目录下。
------解决方案--------------------------------------------------------
引用:
在学习matlab的过程中,遇到如下问题:
??? Error: File: D:\学习盘\论文\4拓展\4拓展仿真5\main_pso.m Line: 26 Column: 3
Missing variable or function.

Error in ==> main at 33
[ARCH_PE,ttt]=main_pso(X,Y,M,X_val,St_Ta,ds,deep);……


matlab的函数调用相当简单,对于子函数的问题,一般有2个解决方案:
1. 所有的函数都写在同一个m文件,主函数调用其他子函数,这样调用方便,不会存在找不到函数的情况;
2. 如果要区分,那么"最好"每个子函数都写成单独的m文件,这样只要在同一个文件夹下就可以互相调用

你的这个错误的确提示函数文找到,你说"我在另外一个m文件中定义了main_pso函数",那么:
a)那个m文件的名字是否是'main_pso.m'?
b)那个m文件中'main_pso'函数是否是主函数,而不是子函数?

这2个条件不满足的话,你在其它m文件就无法调用这个函数.a不满足,matlab找不到该函数,b不满足,一样找不到,因为子函数的作用域只在当前m文件.
  相关解决方案