Matlab有一个毛病,就是默认只能调用同一文件夹下的函数,或者已经添加到工具箱的函数。
但是平常在写代码时,有一些自己写的函数是负责处理一类问题的,能不能像其它语言一样,用文件夹装起来,然后需要时,调用这个文件夹下的函数呢?
当然可以!你只需要在文件的第一行加入这句话:
addpath(genpath(\'.\lib\'));
此时我的文件夹结构是这样的
- main.m
- lib
- func1.m
- func2.m
这样我们就可以在 main.m
中调用 func1
和 func2
了。
当然,这样做了以后,文件夹路径就相当于永久添加到了matlab,如果后面不想用了(比如有时候,某些函数名相互冲突,需要去掉一个)。可用下面这段代码移除文件夹路径引用
rmpath(genpath(\'.\lib\'));
如果你添加路径后,忘了使用以上代码进行删除,又删除了这个引入的代码文件,那么在下次打开matlab时,就会报出类似下面的警告:
警告: 名称不存在或不是目录: XXXX
此时,在命令行窗口输入:
edit pathdef.m
打开这个脚本文件,将会看到
p = [...
%%% BEGIN ENTRIES %%%
XXXX %你设置的路径
XXXX
]
这里存储了你曾经设置过的路径,将他们手动删除并保存就好了。
请发表评论