2013-09-22 530 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');