【发布时间】:2014-10-13 21:00:22
【问题描述】:
我编写了一个带有 GUI(用于输入测量设置)和一个测量函数的 MATLAB 程序,当在 GUI 中按“开始”时调用该函数。 在两者中,我都为子函数使用单独的文件,以使其更易于阅读和维护。
文件结构看起来像这样
C:/../folder/+measure/measure.m
C:/../folder/+measure/getData.m
C:/../folder/+measure/plot.m
C:/../folder/+measure/evalutate.m
C:/../folder/+measureGUI/getGuiData.m
C:/../folder/+measureGUI/calcLimits.m
C:/../folder/+measureGUI/saveGuiState.m
C:/../folder/+measureGUI/loadGuiState.m
C:/../folder/+measureGUI/background.png
C:/../folder/+measureGUI/guiState.mat
C:/../folder/measureGUI.fig
C:/../folder/measureGUI.m
如果我在“文件夹”中执行 measureGUI.m,这可行。
在saveGuiState.m 中关闭GUI 时,GUI 中的当前设置保存在guiState.mat 文件中
filename = '+autoProberGUI/guiState.mat';
save(filename, 'guiState');
并在下次打开 GUI 时加载(由loadGuiState.m)。
现在我必须将完成的程序放在网络驱动器上,并将文件夹添加到我的 matlab 搜索路径以调用 measureGUI.m。
该程序可以运行,但由于相对路径(我猜该路径是相对于我当前所在的文件夹,而不是调用函数所在的文件夹),它无法保存或加载 guiState.mat。
我想我可以将子文件夹包含在搜索路径中,或者在filename 中使用绝对路径。但在我看来,这两种解决方案都不是正确的方法。
有没有办法让函数在驱动器上的位置指向文件的相对路径?相对于的意思
I:/..NetworkDrive../folder/+measureGUI/saveGuiState.m
而不是我打电话给measureGUI.m的亲戚
(对不起英文不好,希望不要太混乱)
【问题讨论】:
标签: matlab user-interface relative-path