如何为matlab添加工具包-自动保存的_第1页
如何为matlab添加工具包-自动保存的_第2页
如何为matlab添加工具包-自动保存的_第3页
如何为matlab添加工具包-自动保存的_第4页
如何为matlab添加工具包-自动保存的_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档为Matlab添加工具包我电脑上matlab的路径所在。D:Program FilesMATLABR2012atoolboxmbcmbcviewcgtoolsi nversio npa ne首先说说添加到matlab搜索路径好处:1对n你只需要存储一个副本,就可以在其他 地方使用。具体来说,假设你在数据盘D上新建了两个目录abc和def,这两个工程(每个目录下的所有程序相应地称为一个工程)都需要调用同一个(些)函数(简称工具箱),这时候,如果你没有把该工具箱添加到matlab的搜索路径下,则需要分别把工具箱中所有用到的文件都复制到目录abc和def下才能正确运行。这显然浪费空间,所以,

2、matlab提供了一个搜索路径(默认在matlab安装目录下的toolbox中),只要把工具箱对应的整个文件 夹复制到搜索路径对应的目录下,并且通知matlab一声(把该路径正确添加到搜索路径中),就可以在abc和def中使用这个工具箱了(即无论你的工程文件在哪个目录(有效的目录) 下都可以访问这个工具箱中的函数)。下面就以matlab安装目录下的toolbox目录作为默认的添加路径进行详细说明。1.如何添加工具箱?以下是添加工具箱的方法:(论坛很多人转载过,这里就不作区分了,下面的举例也一样)如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工 具箱,则需要把

3、新的工具箱(以下假设工具箱名字为svm)解压到toolbox目录下,然后用addpath或者pathtool把该工具箱的路径添加到matlab的搜索路径中,最后用whichnewtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具 箱可以使用了。具体请看工具箱自己代的READM文件。1.1举例:要添加的工具箱为svm,则解压后,里边有一个目录svm,假设matlab安装在D:/MATLAB6p5,将svm目录拷贝至D:/MATLAB6p5/toolbox,然后运行matlab,在命令窗口输入addpathD:/MATLAB6p5/toolbox/svm回

4、车,来添加路径。然后在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

5、.1.1适用于添加下载的工具箱(别人的):在 命 令 窗 口 输 入addpath D:/MATLAB6p5/toolbox/svm或 者addpath( D:/MATLAB6p5/toolbox/svm;1欢迎下载精品文档但是这种方法只能添加svm目录,如果该目录下有其他子文件夹,并且运行时候 隐式”调用到这些子文件夹(例如假设svm目录下存在子文件夹matdata,该子文件夹下有logo.mat这个文件,且在m文件代码中使用了诸如load logo这样的句子,即没有显式给出logo.mat的具体路径,贝U称为 隐式”),则不能正确访问。因此,有必要在添加时使用以下语句把svm目录下所有文件

6、夹都添加到搜索路径中:程序代码addpath(ge npath(D:/MATLAB6p5/toolbox/svm);另外,如果只使用以上代码,则退出matlab后,新添加的路径不会被保存下来,下次重新启动matlab后又需要重新添加。可以用savepath来解决这个问题,即在命令窗口中使用savepath便可。不过保存路径操作只对matlab 2006a、2006b有效(应该对版本7.0以上的都有效,因没有测试,所以不敢肯定),对6.5版本的matlab无效(该版本没有savepath这个命令)。121.2适用于添加自己的工具箱(即工具箱自己编写,然后希望别人下载后当运行主文件时自动把路径添加

7、到matlab搜索路径中):在主文件中加入如下代码;程序代码sCurrPath = fileparts(mfile name(fullpath);addpath(ge npath(sCurrPath);%如果该工具箱没有其他子目录,则可以不需要用gen pathsavepath; %这句可根据各人需要自行选择,相信上一节的解释已经很清楚1.2.2界面方式:首先把主界面调出来,有两种方式,一种是在命令窗口输入pathtool,另一种是在matlab菜单调用(File - Set Path)。打开主界面后,相信不用太多解释了。Add Folder 或者Add with subfolders就可以了

8、,添加完毕后,如果需要保存该路径,则在close前save一下就可以了。这种方式的好处是如果路径有问题,matlab会马上报错,告诉用户添加失败。2工具箱添加失败:2.1 work目录和toolbox目录问题:你当然可以单独把一个或多个文件(不含文件夹)放在work目录下来实现1对n”因为work目录是其中一个matlab默认的搜索路径,但显然不能包含文件夹,如果包含文件夹, 则同样需要把该文件夹添加到搜索路径中。相反,你不能单独把一个或多个文件(不含文件夹)放在toolbox目录下来实现1对n”因为toolbox这个目录并非matlab的一个默认搜 索路径,除非你把toolbox文件夹添加到

9、搜索路径中。2欢迎下载精品文档2.2由于路径名称而导致添加失败的总结:2.2.1路径存在空格:错误:addpath C:/Program Files/MATLAB/R2006b/toolbox/fi nity正确:addpath( C:/Program Files/MATLAB/R2006b/toolbox/finity或者使用界面方式添加说明:在6.5版本的matlab不推荐使用带空格的路径,因为matlab6.5的安装路径是不允 许有空格的,因此不晓得带空格的工具箱路径会出现什么问题。7.0以上应该没有问题。界面方式则估计没有问题,有问题matlab会自动报错的。2.2.2路径存在中文:用

10、addpath和界面方式均可以成功添加,但不推荐,最好使用英文路径。2.2.3路径存在字符:均不成功,不要使用字符小结:出现其他与添加相关的错误时,用标准的路径和文件名试试吧。3正确添加了工具箱,但运行调用时出错:3.1版本问题:对于工具箱检测到matlab版本不兼容的问题,先引用一下happy教授的回复:=happy=这个是有用的,估计是作者考虑到随着matlab的升级会出现不兼容的问题,因此加了类似的设置error(unsupported matlab version, please send an email.);以提示大家。从这一设置上看4.x和5.x版本的是完全没有问题的,之后的版本

11、可能会出现问题,是否真的会出现需要进行测试我也遇到过这类问题(如3.3节提到的spm5,下载得到的文件如果遇到2006版本的matlab则无法成功运行),但不是matlab的直接回复说 版本不支持”,而是普通的语法出错。我的经验是根据错误提示调试一下,看看问题出在哪里,然后再对程序作相应修改。例如在我的问题中,由于不支持最新的版本,所以2006a和2006b版本分别用下面的语句进行检查:strcmp(versio n(-release),2006a)和strcmp(versio n(-release),2006b)。3.2程序中其他语法错误:估计部分语法不兼容, 例如7.0版本以上的matla

12、b可以使用& |、(x)等等之类的符号,但是在6.5版本下无效,这种错误也需要自己手动修改一下代码。3.3工具箱中的函数重名问题:Happy教授也提到过,除了改名,没有太好的办法。但是如果改的地方不止一个,例如遇到 该文件进行了多次的自我调用(一个典型例子是以switch和case语句进行区分不同的操作),或者其他文件存在对该文件的调用时,这是个很头痛的事情。根据我的经验,也没有 找到太好的解决办法。以我所用的两个工具箱为例,它们的文件夹名字不同(一个是3欢迎下载精品文档一个是spm5),但是里面的主m文件名字都一样,为spm.m,如果两个工具箱同处于matlab的搜索路径中,会导致其

13、中一个工具箱失效,更别说两者之间通过切换来进行调用了。我一般的解决方法是安装两个matlab,例如一个是6.5版,一个是2006版,把两个工具箱分别添加到不同的matlab中,这样就可以启动不同版本的matlab使用不同版本的工具箱了,呵呵, 算是一个补救的方法吧。3.4找不到m文件的问题:如果你已经把工具箱正确添加到搜索路径下,这种情况一般不会发生。也就是说,通过文件夹copy -运行matlab -添加路径步骤后,该文件夹下所有文件应该都可以访问到。但是,当你对该文件夹下的m文件更新(包括修改和新增)了以后,此时如果你不重启matlab, 则可能会出现找不到m文件的问题(特别是该工具箱中的文件没有依赖关系,它们只是被放在一起方便调用,当你新增一个m文件到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论