English 中文(简体)
MATLAB 分析 OS 特定路径
原标题:MATLAB parse OS-specific path

我正在运行一个MATLAB项目, 由几个用户共享, 有些运行Windows, 有些运行Linux。

在有些脚本中,我需要访问外部目录中的文件,而我不想在 MATLAB 路径中添加这些文件。

为了容纳Linux和Windows,我需要能够确定运行的OS Im类型,并相应设置目录分隔符(Windows, / Linux)。

我试过了

os = getenv( OS )

(我在一些官方指南中看到了) 但它返回了一个空字符串。

我可以检查Pwd的第一个性格, 但那个很丑陋, 我希望应该有更简单的东西。

谢谢你的建议!

最佳回答

要正确使用目录分隔符, 您不需要写入代码来处理不同的操作系统 。 filesep 给了您正确的目录分隔符 。

My1stDir =  Year2012 ;
My2ndDir =  Feb ;
My3rdDir =  Day03 ;

MyDir = [  mydata , filesep, My1stDir, filesep, My2ndDir, filesep, My3rdDir ];

在Linux你会得到:

MyDir =
     mydata/Year2012/Feb/Day03

在Windows里你会得到:

MyDir =
     mydataYear2012FebDay03
问题回答

暂无回答




相关问题
MATLAB Solving equations problem

I want to solve these equations using MATLAB and I am sure there is a non zero solution. The equations are: 0.7071*x + 0.7071*z = x -0.5*x + 0.7071*y + 0.5*z = y -0.5*x - 0.7071*y +...

Difference between MATLAB s matrix notations

How do you read the following MATLAB codes? #1 K>> [p,d]=eig(A) // Not sure about the syntax. p = 0.5257 -0.8507 -0.8507 -0.5257 d = ...

preventing data from being freed when vector goes out of scope

Is there a way to transfer ownership of the data contained in a std::vector (pointed to by, say T*data) into another construct, preventing having "data" become a dangling pointer after the vector goes ...

Divide two polynomials using MATLAB

I want to divide p(x) by q(x) given that: p(x)=-5x^4+3x^2-6x q(x)=x^2+1 I tried: p=inline( -5*(x^4)+3*(x^2) , x ) p = Inline function: p(x) = -5*(x^4)+3*(x^2) q=inline( x^2+1 , x ) q = ...

matlab deals with Fibbonacci

The Fibonacci series is given as follows: 1, 2, 3, 5, 8, 13, 21, ... How can I write a script which calculates and prints the n-th Fibonacci term (for n>2), where n is inputed by the user. This ...

How do I plot lines between all points in a vector?

I have a vector containing some points in 2-D space. I want MATLAB to plot these points with lines drawn from every point to every other point. Basically, I want a graph with all vertices connected. ...

How do I create a string using a loop variable in MATLAB?

I have a loop like this: for i=1:no %some calculations fid = fopen( c:\out.txt , wt ); %write something to the file fclose(fid); end I want data to be written to different files like ...