安装新的Matlab工具箱前后的若干问题(流水总结帖-如何安装,函数重名问题,安装后出错问题)

由于需要要安装一个图切的工具箱,百度了一下,添加工具箱的方法很多,最终都是将工具箱所在路径添加到Matlab的搜索路径下,例如,将工具箱复制到toolbox目录下然后设置相应的搜索路径。下面根据网上内容和自己亲身实践,介绍一种简单的方法进行比较详细的说明:

A 将需要安装的工具箱解压到Matlab安装路径下的toolbox中

可以在Matlab中输入matlabroot命令获取Matlab安装路径,此时会自动跳到Matlab的安装目录下,双击打开toolbox进入,也可以直接进入资源管理器进入toolbox目录。

B 将需要安装的工具箱复制到toolbox中

C 在Matlab的搜索路径下添加刚刚安装的工具箱的路径,最简单的方法是使用菜单操作,File—>SetPath—>在浏览文件中选择刚才的安装路径,点击确定—>点击Add with subfolders—>点击save按钮(一定要保存)—>点击close按钮,对话框关闭,此时工具箱彻底安装完毕。

D 测试新工具箱是否可以使用

例如,在matlab命令空间输入工具箱名称,此时一般会返回该工具箱的说明,也就是工具箱中content.m中的内容;或者随便找一个不重名的函数,在命令行输入which ***.m(***是函数名称),会得到其位置,等等。

E 最后要更新工具箱缓存,否则每次启动Matlab的时候会给出警告,File—>Preferences—>General—>选中enable toolbox path cache—>点击updata toolbox path cache,然后关闭该对话框,工具箱彻底安装完成。如果以后启动Matlab的时候警告说toolboxpath cache失效,重新重复刚才更新toolbox path cache的过程就可以了。

当然如果对Matlab的命令比较熟悉的话,也可以直接使用命令进行工具箱的安装操作,方法如下:

(1)将工具箱解压到任意路径,但是推荐MatlabRoot下的Toolbox中

(2)在Matlab中输入>>addpath('Your_ToolBox_Full_Path')%注意必须是文件夹路径

>>savepath

(3)同样执行上面的测试和确认工作,同上

(4)更新搜索目录,可以使用命令行rehash toolboxcache


就我自己的安装过程而言,很顺利,但是安装完成后使用,出现了一些问题。

1)运行工具箱里面的具体函数示例时,显示出错信息为某函数输入过多

作者自己编写的工具箱demo道理上不会出现这样的错误吧,于是考虑是不是函数重名的问题。使用which命令查看了出错函数的路径,发现出现在另外的Matlab包里,果然是函数重名的问题。而Matlab的默认搜索路径先找到了另外包中的同名函数,造成了示例运行错误。

a 设想设置搜索的优先顺序,于是使用Set path界面上的Move up/Down和Move to Top/Bottom,将工具箱的位置调整之后,问题没有解决。后来查书知道Matlab加载任何文件、执行任何命令都是从当前的目录下开始的,因此认为将新安装的工具箱设为当前目录应该可以解决这个问题。此外,右键单击桌面上的Matlab启动图标,单击属性,在弹出的对话框中有一个“起始位置”的文本输入框,可以设置工作路径。仍然没有解决该问题。

最终解决方案:暂时在搜索路径里移除了有重名函数的工具箱,做了备忘。

b 利用调用一个子函数时的查找顺序,从一个M文件中调用函数时,Matlab首先查看被调用的函数是否是本M文件上的子函数,是,则调用它;不是,在寻找是否有同名的私有函数;如果还不是,则从搜索路径中查找其他文件。所以,在M文件中可以编写子函数来覆盖原有的其他同名函数问及那,或者,利用私有函数会优先被其父文件夹中的函数调用,而且对其父目录以为的目录中的M文件不可见的特点,用户可以开发自己的函数库,函数名称可以与系统标准M函数库名称相同,而不必担心在函数调用时发生冲突。

最终解决方案:由于调用的子函数大小等相关问题,我最终选择了暂时在搜索路径里移除了有重名函数的工具箱,并且做了备忘

2)部分函数提示有错,版本、语法等问题,依次解决就好。

3)此外,在博文Matlab搜索路径一文中,文中对于安装工具箱也给了详细的示例说明,还提到了找不到m文件的问题,暂时还没有遇到。特别指出,算是留个印象吧。


展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页