我计划在学校的计算机实验室使用matlab。在家里,我会在自己的电脑上使用Matlab。我使用dropbox来存储和访问来自不同计算机的文件。有时我需要将文件加载到我的matlab脚本中。我的问题是:如果我同时使用学校和我自己的计算机,我的文件将位于两个不同的文件位置;每次我在学校和家里工作时,我都需要更改matlab代码。我该怎么办?
感谢。
PS我可以将笔记本电脑带到学校,并在笔记本电脑上完成所有matlab任务。我不愿意,因为我的笔记本电脑很重,可能会在我的科学实验室中被盗或损坏。
答案 0 :(得分:0)
您可以使用pwd
来获取当前正在处理的m文件test.m
的完整路径,而不是在加载文件时指定matlab代码中的完整路径。例如:
您的代码:
load('c:\matlab\myfile\test.mat')
修订代码:
load([pwd,'\test.mat'])
我认为文件test.mat
和test.m
都在同一个文件夹myfile
中。
答案 1 :(得分:0)
我使用3台电脑
我想出了一个适用于Google云端硬盘的解决方案(同样适用于Box)。我创建了一个名为gpath的函数(Google Drive路径的缩写)。该函数检查我所在的计算机,然后相应地更改路径名。这是函数
function [] = gpath(A)
[~,pcname] = system('hostname'); %fetch the pc's current name
pcname=pcname(1:end-1)
pcname = cellstr(pcname); %turn it into a string
homeDesktop = {'Patricks-PC'}; %This is the name of my pc at home make sure its not the same as my desktop...it might be
z640 = {'M-2UA638373V'};
laptop = {'DESKTOP-4QHJ1G7'};
if strcmp(pcname,z640) ==1 %for z640
path = strcat('C:\Users\Patrick\Google Drive\', A)
cd(path)
elseif strcmp(pcname,homeDesktop) ==1 %for Antec p193
path = strcat('H:\Google Drive\', A)
cd(path)
elseif strcmp(pcname,laptop) ==1 %for ASUS laptop
path = strcat('C:\Users\Patty\Google Drive', A)
cd(path)
end
现在让我们假设我想将我的目录设置为Google Drive \ Project1而不是写
cd('C:\Users\Patrick\Google Drive\Project1')
我只是写
gpath('Project1')
这段代码可以在我的所有3台计算机上运行,这意味着每次从办公室工作切换到家时,我都不需要更改脚本。如果你喜欢这个答案,请考虑给我竖起大拇指。