问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何增加matlab的工具箱

发布网友 发布时间:2022-04-21 15:33

我来回答

1个回答

热心网友 时间:2022-04-15 19:15

下载一个工具箱,添加到matlab中,直接运用:

在matlab的file下面的set path把它加上,把路径加进去后在

file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下,就OK了

1.1 如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可;
1.2 如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录。

2 在matlab的file下面的set path把它加上。

3 把路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。

4 用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。

或者将工具箱复制到toolbox目录然后在set path里面添加这个目录就可以用了。

在matlab的file下面的set path把它加上,把路径加进去后在

file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下,就OK了

以下是我在别的地方看到的,转过来你参考一下吧。

首先说说添加到matlab搜索路径好处:1

n——你只需要存储一个副本,就可以在其他地方使用。具体来说,假设你在数据盘D上新建了两个目录abc和def,这两个工程(每个目录下的所有程序相应地称为一个工程)都需要调用同一个(些)函数(简称工具箱),这时候,如果你没有把该工具箱添加到matlab的搜索路径下,则需要分别把工具箱中所有用到的文件都复制到目录abc和def下才能正确运行。这显然浪费空间,所以,matlab提供了一个搜索路径(默认在matlab安装目录下的toolbox中),只要把工具箱对应的整个文件夹复制到搜索路径对应的目录下,并且通知matlab一声(把该路径正确添加到搜索路径中),就可以在abc和def中使用这个工具箱了(即无论你的工程文件在哪个目录(有效的目录)下都可以访问这个工具箱中的函数)。下面就以matlab安装目录下的toolbox目录作为默认的添加路径进行详细说明。

1. 如何添加工具箱?

以下是添加工具箱的方法:(论坛很多人转载过,这里就不作区分了,下面的举例也一样)

如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,则需要把新的工具箱(以下假设工具箱名字为svm)解压到toolbox目录下,然后用addpath或者pathtool把该工具箱的路径添加到matlab的搜索路径中,最后用which

newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己代的README文件。

1.1 举例:

要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:\MATLAB6p5,将svm目录拷贝至D:\MATLAB6p5\toolbox,然后运行matlab,在命令窗口输入addpath

D:\MATLAB6p5\toolbox\svm回车,来添加路径。然后在svm目录下,任意找一个m文件,以svcinfo.m为例,在命令窗口中输入which
svcinfo.m。如果显示出该文件路径,如
D:\MATLAB6p5\toolbox\svm\svcinfo.m,则安装成功,当然也可以在命令窗口输入path来查看。

上面的说明和例子基本上介绍了在matlab中如何添加工具箱,下面是其他补充:

1.2 添加方式总结:

事实上,有两种添加工具箱到matlab搜索路径的方法:其一是用代码,其二是用界面。其实无论用哪种方法,都是修改pathdef.m这个文件,阁下如果是高手,可以直接打开该文件修改,呵呵,对此这里不作讨论。

1.2.1 代码方式:

1.2.1.1 适用于添加下载的工具箱(别人的):

在命令窗口输入addpath D:\MATLAB6p5\toolbox\svm 或者addpath(‘D:\MATLAB6p5\toolbox\svm’);

但是这种方法只能添加svm目录,如果该目录下有其他子文件夹,并且运行时候“隐式”调用到这些子文件夹(例如假设svm目录下存在子文件夹matdata,该子文件夹下有logo.mat这个文件,且在m文件代码中使用了诸如
load logo
这样的句子,即没有显式给出logo.mat的具体路径,则称为“隐式”),则不能正确访问。因此,有必要在添加时使用以下语句把svm目录下所有文件夹都添加到搜索路径中:

500){this.resized=true;this.style.width=500;}"> 程序代码

addpath(genpath(D:\MATLAB6p5\toolbox\svm));

另外,如果只使用以上代码,则退出matlab后,新添加的路径不会被保存下来,下次重新启动matlab后又需要重新添加。可以用savepath来解决这个问题,即在命令窗口中使用
savepath 便可。不过保存路径操作只对matlab
2006a、2006b有效(应该对版本7.0以上的都有效,因没有测试,所以不敢肯定),对6.5版本的matlab无效(该版本没有savepath这个命令)。

1.2.1.2 适用于添加自己的工具箱(即工具箱自己编写,然后希望别人下载后当运行主文件时自动把路径添加到matlab搜索路径中):

在主文件中加入如下代码;

500){this.resized=true;this.style.width=500;}"> 程序代码

sCurrPath = fileparts(mfilename('fullpath'));

addpath(genpath(sCurrPath)); %如果该工具箱没有其他子目录,则可以不需要用genpath

savepath; %这句可根据各人需要自行选择,相信上一节的解释已经很清楚

1.2.2 界面方式:

首先把主界面调出来,有两种方式,一种是在命令窗口输入pathtool,另一种是在matlab菜单调用(File
-> Set Path…)。打开主界面后,相信不用太多解释了。Add Folder… 或者 Add with subfolders…
就可以了,添加完毕后,如果需要保存该路径,则在close前save一下就可以了。

这种方式的好处是如果路径有问题,matlab会马上报错,告诉用户添加失败。

2 工具箱添加失败:

2.1 work目录和toolbox目录问题:

你当然可以单独把一个或多个文件(不含文件夹)放在work目录下来实现“1对n”,因为work目录是其中一个matlab默认的搜索路径,但显然不能包含文件夹,如果包含文件夹,则同样需要把该文件夹添加到搜索路径中。相反,你不能单独把一个或多个文件(不含文件夹)放在toolbox目录下来实现“1对n”,因为toolbox这个目录并非matlab的一个默认搜索路径,除非你把toolbox文件夹添加到搜索路径中。

2.2 由于路径名称而导致添加失败的总结:

2.2.1 路径存在空格:

错误:addpath C:\Program Files\MATLAB\R2006b\toolbox\finity

正确:addpath(‘C:\Program Files\MATLAB\R2006b\toolbox\finity’) 或者使用界面方式添加

说明:在6.5版本的matlab不推荐使用带空格的路径,因为matlab6.5的安装路径是不允许有空格的,因此不晓得带空格的工具箱路径会出现什么问题。7.0以上应该没有问题。

界面方式则估计没有问题,有问题matlab会自动报错的。

2.2.2 路径存在中文:

用addpath和界面方式均可以成功添加,但不推荐,最好使用英文路径。

2.2.3 路径存在“@”字符:

均不成功,不要使用“@”字符

小结:出现其他与添加相关的错误时,用标准的路径和文件名试试吧。

3 正确添加了工具箱,但运行调用时出错:

3.1 版本问题:

对于工具箱检测到matlab版本不兼容的问题,先引用一下happy教授的回复:

=====================happy================================

这个是有用的,估计是作者考虑到随着matlab的升级会出现不兼容的问题,因此加了类似的设置error('unsupported
matlab version. please send an
email.');以提示大家。从这一设置上看4.x和5.x版本的是完全没有问题的,之后的版本可能会出现问题,是否真的会出现需要进行测试

=========================================================

我也遇到过这类问题(如3.3节提到的spm5,下载得到的文件如果遇到2006版本的matlab则无法成功运行),但不是matlab的直接回复说“版本不支持”,而是普通的语法出错。我的经验是根据错误提示调试一下,看看问题出在哪里,然后再对程序作相应修改。例如在我的问题中,由于不支持最新的版本,所以2006a和2006b版本分别用下面的语句进行检查:strcmp(version('-release'),'2006a')
和 strcmp(version('-release'),'2006b')。

3.2 程序中其他语法错误:

估计部分语法不兼容,例如7.0版本以上的matlab可以使用&&、||、@(x)等等之类的符号,但是在6.5版本下无效,这种错误也需要自己手动修改一下代码。

3.3 工具箱中的函数重名问题:

Happy教授也提到过,除了改名,没有太好的办法。但是如果改的地方不止一个,例如遇到该文件进行了多次的自我调用(一个典型例子是以switch

和case语句进行区分不同的操作),或者其他文件存在对该文件的调用时,这是个很头痛的事情。根据我的经验,也没有找到太好的解决办法。以我所用的两个工具箱为例,它们的文件夹名字不同(一个是spm2,一个是spm5),但是里面的主m文件名字都一样,为spm.m,如果两个工具箱同处于matlab的搜索路径中,会导致其中一个工具箱失效,更别说两者之间通过切换来进行调用了。我一般的解决方法是安装两个matlab,例如一个是6.5版,一个是2006版,把两个工具箱分别添加到不同的matlab中,这样就可以启动不同版本的matlab使用不同版本的工具箱了,呵呵,算是一个补救的方法吧。

3.4 找不到m文件的问题:

如果你已经把工具箱正确添加到搜索路径下,这种情况一般不会发生。也就是说,通过“文件夹copy
-> 运行matlab
->添加路径”步骤后,该文件夹下所有文件应该都可以访问到。但是,当你对该文件夹下的m文件更新(包括修改和新增)了以后,此时如果你不重启matlab,则可能会出现找不到m文件的问题(特别是该工具箱中的文件没有依赖关系,它们只是被放在一起方便调用,当你新增一个m文件到该文件夹下而不重启matlab的时候,会造成这一新增m文件访问失败)。解决这个问题的方法之一显然是重启matlab,如果你不想重启,也可用第二个方法:在命令窗口输入:
rehash toolbox ,“强制”matlab刷新toolbox目录下的所有文件,这样就可以正确访问了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
今年四川理科477分能上什么大学 我是四川考生,考了477分,想上四川的二本院校,请问上哪一个学校好一点... 2023年四川高考479分能报哪些公办大学 高考多少分能上商洛学院 2024年四川477分能考上什么大学? 在郑州有没有晚上6点到12点的临时工可干 待遇怎么说请大家给推荐下... 成都肯德鸡打工?? 在郑州德克士小时工一个小时多少钱,还有大概每个月什么时候发工资... 龟头上长一圈小颗粒怎么回事 JavaScript 中快速读取文件的方法 matlab怎么设置工作路径 为什么matlab设置路径显示错误 mac怎么找matlab的安装目录 如何用matlab在已知文件夹中创建文件? MATLAB的搜索路径是什么意思? 如何设置matlab的默认路径 如何把一个文件夹设成matlab默认路径 如何设置matlab文件路径 请问怎么添加路径到MATLAB的环境中? 如何设置matlab的正确工作路径 matlab使用什么命令设置当前目录 matlab中路径设置问题 Matlab怎么设置搜索路径 如何添加路径到MATLAB系统搜索路径 matlab中怎么设置当前路径 如何取消绑定手机号 matlab online可以设置路径吗 绑定的怎么取消 MATLAB中如何建立自己的工作目录 怎么取消微信绑定号码 高考选化学能考师范大学当英语老师吗? 卫君宠爱弥子瑕告诉我们什么道理 黄油和花生油那个炒牛肉好吃 黄油秋蔡炒牛肉怎么做 黄油可以做些什么好吃的? 很好吃的炒牛肉怎么做 黄油怎样吃好吃? 牛肉有哪些好吃的做法? 牛肉怎么炒菜好吃 熟牛肉炒什么好吃 分享三种炒熟牛肉的方法跟步骤 苹果手机度数单位怎么打出来 iPhone怎么打出度的符合出来,?上面一个句号的 iphone怎么打“度”这个符号.还有省略号 拨打完电话,挂断,对方号显示紧急联系人是什么意思 iphone经纬度符号怎么打 医学 人体常识 眼科 今天早上醒来,左眼有点发肿有点痛,右眼没事。昨天还好好的,没磕没碰。到 请问睡觉起来一只眼睛肿了另一只正常?是怎么回事? 左眼突出的很厉害右眼正常,突出一星期左右,什么原因 啊 ?我20 女 专业人士请回答,谢谢 好吧,我承认 为什么我的左眼眼袋那里有点浮肿,而右眼却没事.