2010-10-24 50 views
0

這是我的代碼的一部分,我輸入.mat文件的名稱,該文件位於與我的代碼相同的文件夾中。然而,它無法識別的文件名,並給出了一個錯誤:使用加載命令在Matlab中打開.mat文件時出錯使用

「使用==>負載

無法讀取文件‘q.mat’???錯誤:沒有這樣的文件或目錄。」

q_type=input('Do you want to use q from "A", "B" or from a saved .mat file? Enter the exact name: ','s'); 
q_type=mat2str([q_type'.mat']) 
load(q_type) 

但是如果我使用LOAD命令在命令窗口中直接爲遵循,那麼它沒有給出錯誤並加載文件:

load('q_A.mat')

爲什麼做這樣的嗎?

+2

刪除MAT2STR函數調用 – Amro 2010-10-24 04:07:17

+0

您使用的文件名沒有它的路徑,如果它不在MATLAB路徑中,那麼MATLAB找不到它。使用函數fullfile()。 – Mikhail 2010-10-24 07:45:42

+1

@Harpreet:而不是最後兩行,使用:'load([q_MethodType'.mat'])''。我還發布了一個更優雅的解決方案,下面... – Amro 2010-10-24 18:47:23

回答

3

下面是一個使用模態對話框更加用戶友好的解決方案:

[fileName pathName] = uigetfile({'*.mat' 'MAT-files (*.mat)'}, 'Load Data', '.'); 
if pathName == 0, error('No file selected'), end 
load(fullfile(pathName,fileName)) 

隨時根據需要進行定製。

相關問題