声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1558|回复: 8

[编程技巧] 问一个关于函数路径的问题

[复制链接]
发表于 2008-11-19 23:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
有几组数据存在不同的文件夹里,处理这几组数据需要调用自己写的一个函数,问题是是不是只能把函数 分别复制到这几个文件夹里,才行啊,我想讲m文件单独放一起,不和数据文件混一起,有没有个好的办法? 其实问题实质就是工作路径只能是1个  如果函数不在工作路径,那么就不能调用这个函数, 但是如果要将函数一个个复制进这些数据文件夹里的话,由于数据文件夹太多,太费时间!
感觉说的不清楚,下面演示下;
假设几个数据文件分别在 /matlab/work/data1,   /matlab/work/data2,   /matlab/work/data3  ,
    M文件(包括函数) 在          /matlab/work/Mfile
如何写个语句,既照顾到matlab/work/Mfile ,又能调用/matlab/work/data1
回复
分享到:

使用道具 举报

发表于 2008-11-20 08:04 | 显示全部楼层
不太确定你的问题
doc uigetfile或file>set path
发表于 2008-11-20 08:51 | 显示全部楼层
也是是设置工作路径,两外一个就是放到工作目录下面。
 楼主| 发表于 2008-11-26 18:15 | 显示全部楼层
算了 不深究了 就挨个复制进去吧
发表于 2008-11-26 20:00 | 显示全部楼层

回复 地板 leeking30 的帖子

先读取数据再调用函数?
 楼主| 发表于 2008-11-27 18:37 | 显示全部楼层
先读取数据再调用函数
就是说先将工作路径设定到数据路径,读取数据后,再将工作路劲该回到函数所在路径!
我怎么就没想到呢?:victory: :victory: :victory: :handshake :handshake
发表于 2008-11-27 20:49 | 显示全部楼层
1.我的习惯会将自行开发的程序分类别放在不同目录里, 再将这些目录设定在path里, 如此在任何工作目录下皆可执行該程序, 有点像toolbox一样!
2.程序一般常需要资料输入, 若写死, 程序不够一般化, 所以我的习惯会使用uigetfile, 如此资料在不同目录里亦可执行, ex
  while 1, TitleS = 'Choise the file for data processing (Cancel to Quit from Data Process) :';
     [FileName,PathName] = uigetfile('*.*',TitleS);
     if FileName==0, disp([PreW,'File not ready ?',EndS]); break;   else cd(PathName); end
    ....  
    ....
  end

总之, 工作目录与函数目录/资料目录可以完全无关, 如此程序才够一般化, 希望我有说清楚

[ 本帖最后由 ChaChing 于 2008-11-27 20:55 编辑 ]
发表于 2008-11-27 23:51 | 显示全部楼层
M脚本文件中首先可以把其他路径的数据调入,然后下面有关的函数和脚本放在同一个工作文件夹就可以了啊
发表于 2008-11-28 08:32 | 显示全部楼层

当然是可以, 但资料档案若更换, M-function/M-script就需要重改, 不太好吧? 所以个人认为这样不够一般化!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 01:40 , Processed in 0.059767 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表