全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5030 4
2011-05-25
安装matlab2010b后,自己手动添加了一些路径,输入命令path后也可以看到所添加的文件夹,但是为何调用里面的.m文件时老是找不到呢?请高手帮忙回答!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-5-25 10:38:46
最大的可能是你只添加了最外层的文件夹。
比如有一个:
mymat\folderone\xxx
mymat\otherfolder
mymat\three

你添加的时候只添加了  mymat。却没有添加其下的子文件夹。

应该这样:
file    ->          set path  ->  Add folders and subfolders
然后再选择你的 mymat ,下面的子文件夹等都会被添加。
里面的所有m文件都会被找到。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-25 10:48:37
很高兴认识你,我在这个论坛看到很多你的回复帖,感谢你的热心帮助!
但是这个方法我也试过,不管用。真是太奇怪了,如果我把用到的.m文件单个的复制到work中,又可以读取,对于一些\ja或者\private中调用到的函数就不行了,然而一旦重启matlab这个小聪明就不管用了。 2# tulipsliu
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-5-26 13:27:50
呵呵,我很多帖子,也是随便说,含金量不高。没有其他人对模型的理解深入,做得更好。

MATLAB现在带有面向对象的,一些程序是面向对象的类,
文件申明以 classdef 开头,class 里,又可以定义函数,在JAVA里,叫 method 吧。也就是在class中,有 function的申明。

你的文件夹不可能被加到系统搜索路径的。两种类型的文件夹不可以被添加到路径,即使你用 set path,还是用其他。
一个是你已经写出来的 :          \private
一个是这样开头的:                  \@myclass                     % 这代表是面向对象设计思想的类文件。

不过它的父文件夹在系统路径的话,依然可以被找到,比如 :   mymatlab\private
已经  mywork\@myclass
通常,@myclass,
你的文件只要在  mywork ,不用设置添加 @myclass,文件里都可以调用这个文件夹里的任何文件。

不只这样,我在其他程序文件里,有的文件也有这样的问题。
比如  shape_read('...\Shapefiles\usgeography.shp')
这类程序的调用文件不在 mywork,而在其他即使被添加到路径的文件夹,依然无法正确读取这个文件。
所以,这个是个使用习惯,你可以多看看  面向对象类的调用问题。
你刚才说的 private,和 @anyclassfiles  一样,都不需要添加,只要它们在的上一层文件夹被找到,就可以使用。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-7-26 21:10:39
addpath(genpath('D:\Program Files\MATLAB\R2010b\toolbox\XXXXX'));%%这个地方,XXXXX就是要添加进搜索路径的文件夹
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群