我想创建一个在Matlab中找到特定路径的函数。
问题是路径是可变的,具体取决于我正在运行的程序的版本,所以
..../...../v1.1/file.m
或
.../...../v1.2/file.m
我想知道是否有用于hte变量名的函数。此外,如果路径太长而且我不想全部写,那么是否有符号替换所有previos部分。我的意思是:
strfind(path,$/v1.1/file.m);
但我不确定。
我会感激一些帮助!
答案 0 :(得分:1)
如果您正在寻找版本号v1.X的实例的路径,那么您应该只提供它regexp。
关于存储路径的根并将其与特定于版本的部分组合,我通常使用fullfile为您处理路径分隔符并使您的代码系统独立。最后,为了处理版本编号我使用sprintf。我实验室中的很多人都喜欢使用数组连接,但我发现更难以阅读的代码。
root = matlabroot; % Just an example of a root
version = 1; % Make this a variable in case of future upgrades
subversion = 1; % The actual part from the question
fullPth = fullfile( root, sprintf('v%i.%i', version, subversion), 'file1' );
答案 1 :(得分:0)
你想做类似的事吗?
versionOfProgram = 'v1.2';
f = fullfile('C:', 'Applications', 'matlab', versionOfProgram, 'file.m');