我一直在Windows中使用MATLAB进行模拟。但是,现在我正在使用Ubuntu,所以当我运行一个加载包含所需数据的文件的模拟时:
auxiliar_nm1 = load('C:\Users\Miguel\Dropbox\Tesina\Simulaciones\Quadrotor Simulation\M Model 1\auxiliar.txt', 'auxiliar_nm1');
我收到以下错误:
Unable to read file 'C:\Users\Miguel\Dropbox\Tesina\Simulaciones\Quadrotor Simulation\M Model 1\auxiliar.txt'. No such file or directory.
我知道我只能修改路径,所以这个问题就解决了,但我想知道是否可以在MATLAB中确定操作系统,并根据这个参数做出决定,所以这个脚本适用于两种操作系统(Windows和Ubuntu)。
答案 0 :(得分:7)
函数computer
为您提供所需内容:
switch computer
case 'PCWIN' % 32-bit Windows
%...
case 'PCWIN64' % 64-bit Windows
%...
case 'GLNXA64' % Linux
%...
case 'MACI64' % Mac
%...
end
或者,您可以使用特定功能ispc
,isunix
和ismac
,但请注意isunix
在Mac上返回true。
答案 1 :(得分:5)
strncmp(os,'Linux',5)
返回操作系统的完整字符串,您可以在条件语句中解析该字符串以运行所需的加载命令。
if(strncmp(os,'Linux',5)
load('linux dependant path')
else
load('Windows path')
end
如果是Linux,则返回1(仅比较前n个字符,在本例中为5)。
{{1}}
答案 2 :(得分:3)
我所做的是:
if ispc
auxiliar_nm1 = load('C:\Users\Miguel\Dropbox\Tesina\Simulaciones\Quadrotor Simulation\M Model 1\auxiliar.txt', 'auxiliar_nm1');
elseif isunix
auxiliar_nm1 = load('/home/m/Dropbox/Tesina/Simulaciones/Quadrotor Simulation/M Model 1/auxiliar.txt', 'auxiliar_nm1');
end