如何区分Matlab中的操作系统?

时间:2015-05-05 20:27:57

标签: matlab

我一直在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)。

3 个答案:

答案 0 :(得分:7)

函数computer为您提供所需内容:

switch computer
    case 'PCWIN'   % 32-bit Windows
        %...
    case 'PCWIN64' % 64-bit Windows
        %...
    case 'GLNXA64' % Linux
        %...
    case 'MACI64'  % Mac
        %...
end

或者,您可以使用特定功能ispcisunixismac,但请注意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