A. matlab中的m文件怎麼導入
matlab的m文件不能導入,除非是作為函數文件在路徑中提供以其他程序使用(函數文件中的變數非經返回是不能與調用者共享的),或者是被其他m文件調用(調用其中一些可重復利用,共用變數的代碼)
B. 怎麼用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
C. 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
D. Matlab怎樣導入某一文件夾下的txt文件
用Matlab的load()載入命令函數,導入某一文件夾下的txt文件。
具體實現代碼:
A=load('D:MATLAB1970_gsk123.txt')
A——將「123.txt」文件里的數據賦值給A矩陣
E. 在matlab中怎麼導入一個文件夾下的所有文件
用dir查清文件個數和種類,再根據文件類型寫程序,就可把所有文件導入。
F. Matlab如何提取文件名
方法一:
filename=dir(『*.jpg』);
那麼第i個文件的文件名就可以表示為
filename(i).name
文件數量為:length(filename)
方法二:
先在Windows的 MSDOS(命令行)中使用以下命令生成一個list.txt文件:
dir path\folder /on /b /s > path\list.txt
舉例:dir d:\list.txt
然後在 matlab 中使用:
filename = textread(sFileFullName,'%s');
把所有文件名讀取到list細胞矩陣中,最後對filename{i}便可得到各文件名。
G. matlab中怎樣讀取一個文件夾裡面的指定類型的所有文件的名稱
dirs=dir('c:\*.sys'); % 用你需要的目錄以及文件擴展名替換。讀取某個目錄的指定類型文件列表,返回結構數組。
dircell=struct2cell(dirs)' ; % 結構體(struct)轉換成元胞類型(cell),轉置一下是讓文件名按列排列。
filenames=dircell(:,1) % 第一列是文件名
H. 請問怎樣在matlab中讀取一個文件夾中的所有文件名 以filename開頭的 .mat文件
舉個例:
dir_info = dir( 'D:\Program Files\Microsoft Visual Studio 8' )
dir_info =
26x1 struct array with fields:
name
date
bytes
isdir
你會得到一個n*1的結構體,每個結構體里通過isdir來判斷這個項是文件還是文件夾,name存放著文件的完整路徑。
>> [ m n q ] = fileparts( 'D:\Program Files\Microsoft Visual Studio 8\VSKnownIssues.htm' )
m =
D:\Program Files\Microsoft Visual Studio 8
n =
VSKnownIssues
q =
.htm
fileparts這個函數是用來分解文件路徑的,第三個返回變數時後綴,接下來你應該知道該怎麼做了吧
I. 如何向matlab中導入文件夾
一、保存文件
1、保存整個工作區
File-Save
Workspace
as...一個.mat文件
2、保存工作區的變數
在左工作區右擊變數名,create
M-File
3、save命令(1)save將工作區中的所有變數保存在當前工作區中的文件里,文件名為matlab.mat.
MAT文件可通過load函數再次導入工作區
(2)save('filename')
將工作區中的所有變數保存為一個文件,文件名由『filename』指定,默認為當前路徑
(3)save('filename','var1','var2',...)
保存指定的變數在filename指定的文件中
二、導入文件1、load(1)load:如果matlab.mat存在,則導入matlab.mat中的所有變數,如果不存在則返回error。
(2)load
filename:
將filename中的全部變數導入到工作區中
(3)load
filename
XYZ:將filename中的變數X,Y,Z導入到工作區中,如果是MAT文件,在指定變數時可用通配符「*」
2、whos
-filematlab.mat3、importdata
與load函數不同,將文件中的數據已結構體方式寫入
(1)importdata('filename')
(2)A=importdata('filename')4、open
Matlab使用open打開各種格式的文件,自動根據擴展名選擇相應的編輯器。
open('filename'):
以結構體的方式打開在工作區中,與importdata('filename')類似;而load('filename')將文件中的變數導入工作區中,如果要訪問其中的內容,需要以不同的格式進行。
5、從xls中讀取數據