2013-09-22 347 views
-2

我刚刚从PC切换到Mac,并且我发现当我有一台PC时,以前编写的许多MATLAB代码在我的Mac上无法使用!我一直在研究MATLAB,但我现在还不是专家。将MATLAB代码从Windows移植到Mac

在搜索了PC和Mac之间的差异之后,我注意到一些事情确实有所不同,但我很想知道是否需要浏览我所有尚未编写的MATLAB代码并手动进行更新在我的Mac上工作。

请让我知道最好在这里做什么。

例子:

clear all 
cd 'c:\users\sss\Desktop\MATLAB\project\DataFile\' 
load data 
cd .. 

为什么不这项工作?是否因为MATLAB在Mac上需要反斜杠?

+0

什么不工作?你能举一些例子吗? – chappjc

+0

事实是,我不知道我在Mac上编写的任何代码对于我在此过程中支持的PC用户无效。非常抱歉,你有问题,但这个问题不是真正的问题,更多的是咆哮。 – 2013-09-22 00:34:13

+0

我一直在PC上使用matlab。现在,我只需切换到MAC并将我所有的matlab代码传送到我的MAC上。我试图启动我的一个书面功能来查看情节,但它不起作用。 – sophie

回答

2

当然,如果您尝试在Mac上访问Windows样式的路径,则会出错。

MATLAB包含一系列函数,使得您的代码可以相对容易地跨这些问题跨平台。看看例如功能fullfile,fileparts,filesep,pathsep,ispcismac

恐怕暂时来说,你可能需要重新编码东西,以Mac或特定的跨平台使用上述功能。

0

一种方法是有一个路径变量或变量集,它们决定了数据的保存位置。你甚至可以使用computerismacispc自动切换到正确的版本:

if ispc 
    dpath = 'c:\users\sss\Desktop\MATLAB\project\DataFile\'; 
elseif ismac 
    dpath = '/Users/sss/MATLAB/project/DataFile/'; 
end 
load (fullfile(dpath, 'data.mat')); 

如果您有/ MATLAB /项目的子目录中的多个文件/文件,你可以设置一个项目目录(类似于matlabroot而是指向保存该项目文件的位置),然后使用fullfile选择正确的子目录。

例如鉴于PROOT目录指向哪里/ MATLAB /项目/是适当的计算机上,这些产生的文件名分别是/ MATLAB /项目/数据和MATLAB /项目/输出:

datain = fullfile(proot, 'data','data.mat'); 
dataout = fullfile(proot,'output','output.mat');