我有一些本地文件,我想在另一台pc上运行我的程序,而不改变所有地址。\\用户..。是我电脑上的本地地址。当我在另一台pc上运行它时,它会给我带来错误。实际上,我必须更改其他个人电脑中的每一个地址,然后再对它们进行寻址。我想知道这个问题是否有解决办法。我怎样才能在MATLAB中做到这一点?下面是我的代码的一部分:这里有更多详细信息:
%Reading train dataset
directory=dir('C:\Users\Rihanna\Desktop\TrainSet');
for i=3:length(directory)
folderstring=strcat('C:\Users\Rihanna\Desktop\TrainSet\',directory(i).name);
directory1=dir(folderstring);
for j=3:length(directory1)
TrainSet{i-2}{j-2}=audioread(strcat(folderstring,'\',directory1(j).name));
end
end
%--------------------------------------------------------------------------------
%Reading test dataset
directory2=dir('C:\Users\Rihanna\Desktop\TestSet');
for i=3:length(directory2)
folderstring=strcat('C:\Users\Rihanna\Desktop\TestSet\',directory2(i).name);
directory3=dir(folderstring);
for j=3:length(directory3)
TestSet{i-2}{j-2}=audioread(strcat(folderstring,'\',directory3(j).name));
end
end
%.......................................................................................
% make files equal in size using zero padding
%find longest
max=0;
TrainSize=0;
TestSize=0;
for i=3: length(directory)
for j=3:length(directory1)
if(size(TrainSet{i-2}{j-2},1) > TrainSize)
TrainSize=size(TrainSet{i-2}{j-2},1);
end
end
end
%----------------------------------------------------------------------------------------------
for i=3:length(directory2)
folderstring=strcat('C:\Users\Rihanna\Desktop\TestSet\',directory2(i).name);
directory3=dir(folderstring);
for j=3:length(directory3)
if(size(TestSet{i-2}{j-2},1) > TestSize)
TestSize=size(TestSet{i-2}{j-2},1);
%tempsize=size(TestSet{i-2}{j-2},1);
% TestSize=max(tempsize,TestSize);
end
end
end..。
%zero padding-----------------------------------
for i=3: length(directory2)
folderstring=strcat('C:\Users\Rihanna\Desktop\TestSet\',directory2(i).name);
directory3=dir(folderstring);
for j=3:length(directory3)
m=zeros(1,max-size(TestSet{i-2}{j-2},1));
..
.发布于 2015-06-19 12:01:20
解决此问题的最简单方法是使用pwd,它为您提供程序正在运行的当前目录。通过在本示例中使用pwd,在另一台PC上运行代码时,不需要更改代码的任何部分。您所要做的就是将您的文件放在当前目录中。
path=pwd;
str1=strcat(pwd,'\TrainSet');
directory=dir(str1);
for i=3:length(directory)
folderstring=strcat(str1,'\',directory(i).name);
directory1=dir(folderstring);
for j=3:length(directory1)
TrainSet{i-2}{j-2}=audioread(strcat(folderstring,'\',directory1(j).name));
end
end发布于 2015-06-08 14:02:33
首先(当您移动到另一台PC时,您将需要更改):
path_base = 'C:\\Users\\Rihanna\\Desktop\\';然后,您可以创建到您的火车和测试文件的路径。
path_test = strcat(path_base,'TestSet\\');
path_train = strcat(path_base,'TrainSet\\');现在,您可以在任何地方使用这两个路径变量,只要您现在已经编写了自己的路径。
https://stackoverflow.com/questions/30707263
复制相似问题