MATlAB如何添加工具箱.doc

上传人:hw****26 文档编号:3220792 上传时间:2019-05-26 格式:DOC 页数:4 大小:27KB
下载 相关 举报
MATlAB如何添加工具箱.doc_第1页
第1页 / 共4页
MATlAB如何添加工具箱.doc_第2页
第2页 / 共4页
MATlAB如何添加工具箱.doc_第3页
第3页 / 共4页
MATlAB如何添加工具箱.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1. 如何添加工具箱?以下是添加工具箱的方法:(论坛 很多人转载过,这里就不作区分了,下面的举例也一样)如果是 Matlab 安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下 载的工具箱,则需要把新的工具箱(以下假设工具箱名字为 svm)解压到toolbox 目录下,然后用 addpath 或者 pathtool 把该工具箱的路径 添加到matlab 的搜索路径中,最后用 which newtoolbox_command.m 来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。具体请看工具箱自己代的 README 文件。1.1 举例:要添加的工具箱为 svm,则

2、解压后,里边有一个目录 svm,假设 matlab 安装在 D:MATLAB6p5,将 svm 目录拷贝至 D:MATLAB6p5toolbox,然后运行 matlab,在命令窗口输入 addpath D:MATLAB6p5toolboxsvm 回车,来添加路径。然后在 svm 目录下,任意找一个 m 文件,以 svcinfo.m 为例,在命令窗口中输 入which svcinfo.m。如果显示出该文件路径,如 D:MATLAB6p5toolboxsvmsvcinfo.m,则安装成功,当然也可以在命令窗口输入 path 来查看。上面的 说明和例子基本上介绍了在 matlab 中如何添加工具箱,

3、下面是其他补充:1.2 添加方式总结:事实上,有两种添加工具箱到 matlab 搜索路径的方法:其一是用代码,其二是用界面。其实无论用哪种方法,都是修改 pathdef.m 这个文件,阁下如果是高手,可以直接打开该文 件修改,呵呵,对此这里不作讨论。1.2.1 代码方式:1.2.1.1 适用于添加下载的工具箱(别人的):在命令窗口输入 addpath D:MATLAB6p5toolboxsvm 或者addpath(D:MATLAB6p5toolboxsvm);但是这种方法只能添加 svm 目录,如果该目录下有其他子 文件夹,并且运行时候“隐式”调用到这些子文件夹(例如假设 svm 目录下存在子

4、文件夹matdata,该子文件夹下有 logo.mat 这个文件,且在 m 文 件代码中使用了诸如 load logo 这样的句子,即没有显式给出 logo.mat 的具体路径,则称为“隐式”),则不能正确访问。因此,有必要在添加时使用以下语句把 svm 目录下所有文件夹 都添加到搜索路径中:程序代码addpath(genpath(D:MATLAB6p5toolboxsvm);另外,如果只使用以上代码,则退出 matlab 后,新添加的路径不会被保存下来,下次重新启动 matlab 后又需 要重新添加。可以用 savepath 来解决这个问题,即在命令窗口中使用 savepath 便可。不过保

5、存路径操作只对 matlab 2006a、2006b 有效(应该对版本 7.0 以上的都有效,因没有测试,所以不敢肯定),对 6.5 版本的 matlab 无效(该版本没有 savepath 这个命令)。1.2.1.2 适用于添加自己的工具箱(即工具箱自己编写,然后希望别人下载后当运行主文件时自动把路径添加到 matlab 搜索路径中):在主文 件中加入如下代码;程序代码sCurrPath = fileparts(mfilename(fullpath);addpath(genpath(sCurrPath); %如果该工具箱没有其他子目录,则可以不需要用 genpathsavepath; %这句

6、可根据各人需要自行选择,相信上一节的解释已经很清楚1.2.2 界面方式:首先把主界面调出来,有两种方式,一种是在命令窗口输入 pathtool,另一种是在 matlab 菜单调用(File - Set Path)。打开主界面后,相信不用太多解释了。Add Folder 或者 Add with subfolders 就可以了,添加完毕后,如果需要保存该路径,则在 close 前 save 一下就可以了。这种方式的好处是如果路径有问题,matlab 会马上报错, 告诉用户添加失败。2 工具箱添加失败:2.1 work 目录和 toolbox 目录问题:你当然可以单独把一个或多个文件(不含文件夹)放

7、在 work 目录下 来实现“1对 n”,因为 work 目录是其中一个 matlab 默认的搜索路径,但显然不能包含文件夹,如果包含文件夹,则同样需要把该文件夹添加到搜索路径 中。相反,你不能单独把一个或多个文件(不含文件夹)放在 toolbox 目录下来实现“1对 n”,因为 toolbox 这个目录并非 matlab 的一个默认 搜索路径,除非你把toolbox 文件夹添加到搜索路径中。2.2 由于路径名称而导致添加失败的总结:2.2.1 路径存在空格:错误:addpath C:Program FilesMATLABR2006btoolboxfinity正确:addpath(C:Prog

8、ram FilesMATLABR2006btoolboxfinity) 或者使用界面方式添加说明:在 6.5 版本的 matlab 不推荐使用 带空格的路径,因为 matlab6.5 的安装路径是不允许有空格的,因此不晓得带空格的工具箱路径会出现什么问题。7.0以上应该没有问题。界 面方式则估计没有问题,有问题 matlab 会自动报错的。2.2.2 路径存在中文:用 addpath 和界面方式均可以成功添加,但不推荐,最好使用英文路径。2.2.3 路径存在“”字符:均不成功,不 要使用“”字符小结:出现其他与添加相关的错误时,用标准的路径和文件名试试吧。3 正确添加了工具箱,但运行调用时出错

9、:3.1 版本问题:对于工具箱检测到 matlab 版本不兼容的问题,先引用一下 happy 教授的回复:=happy=这 个是有用的,估计是作者考虑到随着 matlab 的升级会出现不兼容的问题,因此加了类似的设置 error(unsupported matlab version. please send an email.);以提示大家。从这一设置上看 4.x 和 5.x 版本的是完全没有问题的,之后的版本可能会出现问题,是否真的会出现需要进行测试=我 也遇到过这类问题(如 3.3 节提到的 spm5,下载得到的文件如果遇到 2006版本的 matlab 则无法成功运行),但不是 matl

10、ab 的直接回复说“版 本不支持”,而是普通的语法出错。我的经验是根据错误提示调试一下,看看问题出在哪里,然后再对程序作相应修改。例如在我的问题中,由于不支持最新的版 本,所以 2006a 和 2006b 版本分别用下面的语句进行检查:strcmp(version(-release),2006a) 和 strcmp(version(-release),2006b)。3.2 程序中其他语法错误:估计部分语法不兼容,例如 7.0 版本以上的 matlab 可以使 用&、|、(x)等等之类的符号,但是在 6.5 版本下无效,这种错误也需要自己手动修改一下代码。3.3 工具箱中的函数重名问题:Happ

11、y 教授也 提到过,除了改名,没有太好的办法。但是如果改的地方不止一个,例如遇到该文件进行了多次的自我调用(一个典型例子是以 switch 和case 语句进行区分不同的操作),或者其他文件存在对该文件的调用时,这是个很头痛的事情。根据我的经验,也没有找到太好的解决办法。以我所用的两个 工具箱为例,它们的文件夹名字不同(一个是 spm2,一个是 spm5),但是里面的主 m 文件名字都一样,为 spm.m,如果两个工具箱同处于 matlab 的搜索路径中,会导致其中一个工具箱失效,更别说两者之间通过切换来进行调用了。我一般的解决方法是安装两个 matlab,例如一个是 6.5 版,一个是 20

12、06 版,把两个工具箱分别添加到不同的 matlab 中,这样就可以启动不同版本的matlab 使用不同版本的工具箱了,呵呵,算是一个补救的方法吧。3.4 找不到 m 文件的问题:如果你已经把工具箱 正确添加到搜索路径下,这种情况一般不会发生。也就是说,通过“文件夹 copy - 运行 matlab -添加路径”步骤后,该文件夹下所有文件应该都可以访问到。但是,当你对该文件夹下的 m 文件更新(包括修改和新增)了以后,此时如果你不重启 matlab,则可能会出现找不到 m 文件的问题(特别是该工具箱中的文件没有依赖关系,它们只是被放在一起方便调用,当你新增一个 m 文件到该文件夹下而不 重启 matlab 的时候,会造成这一新增m 文件访问失败)。解决这个问题的方法之一显然是重启 matlab,如果你不想重启,也可用第二个方法:在命令窗 口输入: rehash toolbox ,“强制”matlab 刷新 toolbox 目录下的所有文件,这样就可以正确访问了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。