matlab讀取目錄
❶ matlab讀取當前文件夾名稱
要讀當前文件夾的名稱,用pwd,如:
>> pwd
ans =
E:\matlab\txt數據\apt數據
要讀當前文件夾中的所有文件名稱,用dir,如:
>> dir
. 11111.apt apt11111.m name.xlsx nametext.m xiezuoye.m
.. 11111.txt name.txt nametext.asv xiezuoye.asv 寫作業.txt
❷ 怎麼在matlab中讀取文件夾名稱
dirs=dir('c:\*.sys');
%
用你需要的目錄以及文件擴展名替換。讀取某個目錄的指定類型文件列表
❸ 怎麼用matlab讀取一個文件夾中的任意個mat文件
使用matlab基本讀取函數,可以進行mat文件讀取操作。
13.1 數據基本操作
本節介紹基本的數據操作,包括工作區的保存、導入和文件打開。
13.1.1 文件的存儲
MATLAB支持工作區的保存。用戶可以將工作區或工作區中的變數以文件的形式保存,以備在需要時再次導入。保存工作區可以通過菜單進行,也可以通過命令窗口進行。
1. 保存整個工作區
選擇File菜單中的Save Workspace As…命令,或者單擊工作區瀏覽器工具欄中的Save,可以將工作區中的變數保存為MAT文件。
2. 保存工作區中的變數
在工作區瀏覽器中,右擊需要保存的變數名,選擇Save As…,將該變數保存為MAT文件。
3. 利用save命令保存
該命令可以保存工作區,或工作區中任何指定文件。該命令的調用格式如下:
● save:將工作區中的所有變數保存在當前工作區中的文件中,文件名為 matlab.mat,MAT文件可以通過load函數再次導入工作區,MAT函數可以被不同的機器導入,甚至可以通過其他的程序調用。
● save('filename'):將工作區中的所有變數保存為文件,文件名由filename指定。如果filename中包含路徑,則將文件保存在相應目錄下,否則默認路徑為當前路徑。
● save('filename', 'var1', 'var2', ...):保存指定的變數在 filename 指定的文件中。
● save('filename', '-struct', 's'):保存結構體s中全部域作為單獨的變數。
● save('filename', '-struct', 's', 'f1', 'f2', ...):保存結構體s中的指定變數。
● save('-regexp', expr1, expr2, ...):通過正則表達式指定待保存的變數需滿足的條件。
● save('..., 'format'),指定保存文件的格式,格式可以為MAT文件、ASCII文件等。
13.1.2 數據導入
MATLAB中導入數據通常由函數load實現,該函數的用法如下:
● load:如果matlab.mat文件存在,導入matlab.mat中的所有變數,如果不存在,則返回error。
● load filename:將filename中的全部變數導入到工作區中。
● load filename X Y Z ...:將filename中的變數X、Y、Z等導入到工作區中,如果是MAT文件,在指定變數時可以使用通配符「*」。
● load filename -regexp expr1 expr2 ...:通過正則表達式指定需要導入的變數。
● load -ascii filename:無論輸入文件名是否包含有擴展名,將其以ASCII格式導入;如果指定的文件不是數字文本,則返回error。
● load -mat filename:無論輸入文件名是否包含有擴展名,將其以mat格式導入;如果指定的文件不是MAT文件,則返回error。
例13-1 將文件matlab.map中的變數導入到工作區中。
首先應用命令whos –file查看該文件中的內容:
>> whos -file matlab.mat
Name Size Bytes Class
A 2x3 48 double array
I_q 415x552x3 687240 uint8 array
ans 1x3 24 double array
num_of_cluster 1x1 8 double array
Grand total is 687250 elements using 687320 bytes
將該文件中的變數導入到工作區中:
>> load matlab.mat
該命令執行後,可以在工作區瀏覽器中看見這些變數,如圖13-1所示。
圖13-1 導入變數後的工作區視圖
接下來用戶可以訪問這些變數。
>> num_of_cluster
num_of_cluster =
3
MATLAB中,另一個導入數據的常用函數為importdata,該函數的用法如下:
● importdata('filename'),將filename中的數據導入到工作區中;
● A = importdata('filename'),將filename中的數據導入到工作區中,並保存為變數A;
● importdata('filename','delimiter'),將filename中的數據導入到工作區中,以delimiter指定的符號作為分隔符;
例13-2 從文件中導入數據。
>> imported_data = importdata('matlab.mat')
imported_data =
ans: [1.1813 1.0928 1.6534]
A: [2x3 double]
I_q: [415x552x3 uint8]
num_of_cluster: 3
與load函數不同,importdata將文件中的數據以結構體的方式導入到工作區中。
13.1.3 文件的打開
MATLAB中可以使用open命令打開各種格式的文件,MATLAB自動根據文件的擴展名選擇相應的編輯器。
需要注意的是open('filename.mat')和load('filename.mat')的不同,前者將filename.mat以結構體的方式打開在工作區中,後者將文件中的變數導入到工作區中,如果需要訪問其中的內容,需要以不同的格式進行。
例13-3 open與load的比較。
>> clear
>> A = magic(3);
>> B = rand(3);
>> save
Saving to: matlab.mat
>> clear
>> load('matlab.mat')
>> A
A =
8 1 6
3 5 7
4 9 2
>> B
B =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
>> clear
>> open('matlab.mat')
ans =
A: [3x3 double]
B: [3x3 double]
>> struc1=ans;
>> struc1.A
ans =
8 1 6
3 5 7
4 9 2
>> struc1.B
ans =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
❹ matlab讀取文件夾中所有文件
寫一個for循環
每次修改文件名
fori=1:803
...
ifi<=9
name=['JULY7000',num2str(i),'.trtx'];
elseifi<99
name=['JULY700',num2str(i),'.trtx'];
else
name=['JULY70',num2str(i),'.trtx'];
end
...
end
%%%%%%%%%%%%%%%%%%
問題補充:目前關鍵問題是怎麼把filenames中的文件名'JULY70001.trtx'帶入到[x,y]=textread('e:\datas\JULY70001.trtx','%f;%f','headerlines',2);命令中讀數據
%%%%%%%%%%%%%%%%%%%
這不簡單嗎
filenames=...
patchname='e:\datas\';
fullname=[patchname,filenames]
[x,y]=textread(fullname,'%f;%f','headerlines',2);
我不知道你這個函數用對了沒有,
但是前面那幾句話就可以實現文件名拼接
❺ matlab 如何獲得某個m文件的路徑
A=which('test')
matlab代碼中獲取當前m文件所在的路徑
文件放在哪裡,直接可以運行。不用change folder,會把內M文件位置變成當前工作容目錄。
%save m-file as aa.m
function res=aa()
clc
p1 = mfilename('fullpath')
i=findstr(p1,'\')
p1=p1(1:i(end))
cd(p1)
end
❻ 用MATLAB如何讀取一個文件夾里的圖片
1、查看圖片所在的位置。
❼ MATLAB怎麼讀取不在同一目錄文件下的文件
用uigetfile函數可以實現
[filename,pathname]=uigetfile(...
{'*.bmp;*.jpg;*.png;*.jpeg','圖象文件(*.bmp,*.jpg,*.png,*,jpeg)';...
'*,*','所有文件(*.*)'}, ...
'請選擇一個圖片文件');
if isequal(filename,0)||isequal(pathname,0)
return;
end
以上是一個讀取圖片文件的常式。
更多的用法可以網路也可以查看MATLAB的幫助文檔
❽ Matlab讀取文件夾中所有文件
你把你要讀取的文件前幾行不是數據的一直到有數據的那一行(包括第一組數據)發出來看看。。【另外:不是數據的的行數是固定的還是不是固定的。】
我幫你解答。
❾ matlab讀取文件
dirs=dir('c:\abc*'); % 替換成你想要的路徑。讀取某個目錄的指定類型文件列表,返回結構數組。
dircell=struct2cell(dirs)' ; % 結構體(struct)轉換成元胞類型(cell),轉置一下是讓文件名按列排列。
filenames=dircell(:,1) % 第一列是文件名
然後你的文件名都讀出來了
你可以寫一個循環
for i=1:length(filenames) % 根據文件的個數循環
filename=filenames(i); % 讀入一個文件名
filename=filename{1}; % 文件名是cell類型,轉換成string 類型
load filename % 讀入數據
end
祝好運