當前位置:首頁 » 辦公資訊 » matlab怎樣導入文件夾結構

matlab怎樣導入文件夾結構

發布時間: 2022-07-04 13:17:29

❶ matlab中的m文件怎麼導入

添加該目錄到matlab路徑中,file->set path -> add with subfolders,選擇要添加的文件夾保存即可。
MATLAB是美國MathWorks公司出品的商業數學軟體,用於演算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和互動式環境,主要包括MATLAB和Simulink兩大部分。MATLAB應用非常之廣泛。

❷ matlab中怎麼批量導入一個文件夾下多個多個子文件夾下的無後綴文件

可以通過循環文件夾及子文件夾進行逐個導入.

❸ 怎樣往matlab中導入txt文件

有三種常見的方式:
1.
A=importdata('filename.txt')
則A就是n*m的矩陣了;
2.load
filename.txt
這樣也是載入n*m的矩陣;
3.在MATLAB的work文件夾下,選擇想要導入的數據,用右鍵importdata,根據向導一步一步導入即可。

❹ matlab怎麼把txt文檔數據導入

先來看看txt文檔中保存的數據結構,如圖所示,數據之間用空格隔開,這種結構是比較理想的。可以直接導入。或者數據之間用逗號、分號、tab符號等等,都算作比較理想的。
接著我們打開MATLAB,在file菜單下找到import data選項
打開一個瀏覽窗口,找到你要導入的txt文件
找到txt文件以後,選中它,然後點擊打開按鈕,別著急,還沒完。
打開數據導入向導,我們首先要選擇是什麼符號隔開了數據,這里自動的使用了空格作為間隔符,還可以使用comma(逗號)、semicolon(分號)、tab(四個空格)、其他符號。
接著,我們設置標題行,我們看下面的數據是沒有標題的,所以設置成0
選擇要導入的變數,我們這里只有一種,就選擇這個就可以了,點擊finish
這里就是我們導入的變數,在工作空間中可以看到。

❺ 在matlab中怎麼導入一個文件夾下的所有文件

用dir查清文件個數和種類,再根據文件類型寫程序,就可把所有文件導入。

❻ 如何向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中讀取數據

❼ [轉載]如何在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讀取數據

❽ matlab中的m文件怎麼導入

matlab的m文件不能導入,除非是作為函數文件在路徑中提供以其他程序使用(函數文件中的變數非經返回是不能與調用者共享的),或者是被其他m文件調用(調用其中一些可重復利用,共用變數的代碼)

❾ matlab怎麼導入tab文件

在編寫一個程序時,經常需要從外部讀入數據,或者將程序運行的結果保存為文件。MATLAB使用多種格式打開和保存數據。本章將要介紹 MATLAB中文件的讀寫和數據的導入導出。

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
13.2 文本文件的讀寫
在上一節中介紹的函數和命令主要用於讀寫mat文件,而在應用中,需要讀寫更多格式的文件,如文本文件、word文件、xml文件、xls文件、圖像文件和音視頻文件等。本節介紹文本文件(txt)的讀寫。其他文件的讀寫,用戶可以參考MATLAB幫助文檔。
MATLAB中實現文本文件讀寫的函數如表13-1所示。
表13-1 MATLAB中文本文件讀寫函數
函 數 功 能
csvread 讀入以逗號分隔的數據
csvwrite 將數據寫入文件,數據間以逗號分隔
dlmread 將以 ASCII 碼分隔的數值數據讀入到矩陣中
dlmwrite 將矩陣數據寫入到文件中,以 ASCII 分隔
textread 從文本文件中讀入數據,將結果分別保存
textscan 從文本文件中讀入數據,將結果保存為單元數組

下面詳細介紹這些函數。
1. csvread、csvwrite
csvread函數的調用格式如下:
● M = csvread('filename'),將文件filename中的數據讀入,並且保存為M,filename中只能包含數字,並且數字之間以逗號分隔。M是一個數組,行數與filename的行數相同,列數為filename列的最大值,對於元素不足的行,以0補充。
● M = csvread('filename', row, col),讀取文件filename中的數據,起始行為row,起始列為col,需要注意的是,此時的行列從0開始。
● M = csvread('filename', row, col, range),讀取文件filename 中的數據,起始行為 row,起始列為col,讀取的數據由數組 range 指定,range 的格式為:[R1 C1 R2 C2],其中R1、C1為讀取區域左上角的行和列,R2、C2為讀取區域右下角的行和列。
csvwrite 函數的調用格式如下:
● csvwrite('filename',M),將數組M中的數據保存為文件filename,數據間以逗號分隔。
● csvwrite('filename',M,row,col),將數組M中的指定數據保存在文件中,數據由參數 row和col指定,保存row和col右下角的數據。
● csvwrite寫入數據時每一行以換行符結束。另外,該函數不返回任何值。
這兩個函數的應用見下面的例子。
例13-4 函數csvread和csvwrite 的應用。
本例首先將MATLAB的圖標轉化為灰度圖,將數據存儲在文本文件中,再將其部分讀出,顯示為圖形。
編寫M文件,命名為immatlab.m,內容為:
% the example of functions csvread and csvwrite
I_MATLAB= imread('D:\matlab.bmp'); % read in the image
I_MATLAB= rgb2gray(I_matlab); % convert the image to gray image
figure,imshow(I_matlab,'InitialMagnification',100); % show the image
csvwrite('D:\matlab.txt',I_matlab); % write the data into a text file
sub_MATLAB= csvread('D:\matlab.txt',100,100);% read in part of the data
sub_MATLAB= uint8(sub_matlab); % convert the data to uint8
figure,imshow(sub_matlab,'InitialMagnification',100); % show the new image
在命令窗口中運行該腳本,輸出圖形如圖13-2所示。

(a) (b)
圖13-2 例13-3 的運行結果
該例中涉及到了少量的圖像處理內容,超出本書的范圍,感興趣的讀者可以查閱 MATLAB幫助文檔中關於Image Processing Toolbox的介紹。
2. dlmread、dlmwrite(個人覺得這個比較好用)
dlmread函數用於從文檔中讀入數據,其功能強於csvread。dlmread的調用格式如下:
● M = dlmread('filename')
● M = dlmread('filename', delimiter)
● M = dlmread('filename', delimiter, R, C)
● M = dlmread('filename', delimiter, range)
其中參數delimiter用於指定文件中的分隔符,其他參數的意義與csvread函數中參數的意義相同,這里不再贅述。dlmread函數與csvread函數的差別在於,dlmread函數在讀入數據時可以指定分隔符,不指定時默認分隔符為逗號。
dlmwrite函數用於向文檔中寫入數據,其功能強於csvwrite函數。dlmwrite函數的調用格式為:
● dlmwrite('filename', M),將矩陣M的數據寫入文件filename中,以逗號分隔。
● dlmwrite('filename', M, 'D'),將矩陣M的數據寫入文件filename中,採用指定的分隔符分隔數據,如果需要tab鍵,可以用「\t」指定。
● dlmwrite('filename', M, 'D', R, C),指定寫入數據的起始位置。
● dlmwrite('filename', M, attribute1, value1, attribute2, value2, ...),指定任意數目的參數,可以指定的參數見下表。
● dlmwrite('filename', M, '-append'),如果filename指定的文件存在,在文件後面寫入數據,不指定時則覆蓋原文件。
● dlmwrite('filename', M, '-append', attribute-value list),敘寫文件,並指定參數。
● dlmwrite 函數的可用參數如表13-2所示。

表13-2 dlmwrite函數的可用參數
參 數 名 功 能
delimiter 用於指定分隔符
newline 用於指定換行符,可以選擇「pc」或者「unix」
roffset 行偏差,指定文件第一行的位置,roffset 的基數為 0
coffset 列偏差,指定文件第一列的位置,coffset 的基數為 0
precision 指定精確度,可以指定精確維數,或者採用 c 語言的格式,如「.5f」

3. textread,textscan
當文件的格式已知時,可以利用textread函數和textscan函數讀入。這里只介紹這兩個函數應用的實例。
例13-5 通過%讀入文件,按照原有格式讀取。
文件的內容為:
Sally Level1 12.34 45 Yes
在命令窗口中輸入:
>> [names, types, x, y, answer] = textread('D:\mat.txt','%s %s %f %d %s', 1)
得到結果為:
names =
'Sally'
types =
'Level1'
x =
12.3400
y =
45
answer =
'Yes'

例13-6 函數csvread和csvwrite的應用
Sally Level1 12.34 45 1.23e10 inf NaN Yes
Joe Level2 23.54 60 9e19 -inf 0.001 No
Bill Level3 34.90 12 2e5 10 100 No
>> fid = fopen('D:\mat.txt');
>> C = textscan(fid, '%s %s %f %u %f %f %s');
>> fclose(fid);
13.3 低級文件I/O
本節介紹一些基本的文件操作,這些操作如表13-3所示。
表13-3 MATLAB的基本文件操作
函 數 功 能
fclose 關閉打開的文件
feof 判斷是否為文件結尾
ferror 文件輸入輸出中的錯誤查找
fgetl 讀入一行,忽略換行符
fgets 讀入一行,直到換行符
fopen 打開文件,或者獲取打開文件的信息
fprintf 格式化輸入數據到文件
fread 從文件中讀取二進制數據
frewind 將文件的位置指針移至文件開頭位置
fscanf 格式化讀入
fseek 設置文件位置指針
ftell 文件位置指針
fwrite 向文件中寫入數據

下面重點介紹函數fprintf。該函數的調用格式如下:
count = fprintf(fid, format, A, ...),該語句將矩陣A及後面其他參數中數字的實部以 format 指定的格式寫入到fid指定的文件中,返回寫入數據的位元組數。

上面語句中,參數format由%開頭,共可由4個部分組成,分別如下:
● 標記(flag),為可選部分。
● 寬度和精度指示,為可選部分。
● 類型標志符,為可選部分。
● 轉換字元,為必需部分。
1. 標記
標記用於控制輸出的對齊方式,可以選擇的內容如表13-4所示。
表13-4 標記的可選內容
函 數 功 能 示 例
負號(-) 在參數左側進行判別 %-5.2d
加號(+) 在數字前添加符號 %+5.2d
空格 在數字前插入空格 % 5.2d

0 在數字前插入0 .2d

2. 寬度和精度指示
用戶可以通過數字指定輸出數字的寬度及精度,格式如下:
● o,指定數字的寬度;
● %6.2f,指定數字的寬度及精度;
● %.2f,指定數字的精度。
例13-6 fprintf函數寬度和精度指示符示例。
在命令窗口中輸入如下命令:
>> file_type = fopen('D:\type.txt','w');
>> fprintf(file_h, '%6.2f .8f\n', 1.2, -43.3);
>> fprintf(file_h, 'o f\n', 1.2, -43.3);
>> fprintf(file_h, '%.2f %.8f\n', 1.2, -43.3);
>> fclose(file_h)
ans =
0
打開該文件,其內容為:
1.20 -43.30000000
1.200000 -43.300000
1.20 -43.30000000
從上述結果可以看出寬度和精度控制的效果。
3. 轉換字元
轉換字元用於指定輸出的符號,可以選擇的內容如表13-5所示。
表13-5 格式化輸出的標志符及意義
標 志 符 意 義
%c 輸出單個字元
%d 輸出有符號十進制數
%e 採用指數格式輸出,採用小寫字母 e,如:3.1415e+00
%E 採用指數格式輸出,採用大寫字母 E,如:3.1415E+00
%f 以定點數的格式輸出
%g %e及%f的更緊湊的格式,不顯示數字中無效的 0
%G 與%g相同,但是使用大寫字母E
%i 有符號十進制數
%o 無符號八進制數
%s 輸出字元串
%u 無符號十進制數
%x 十六進制數(使用小寫字母a-f)
%X 十六進制數(使用大寫字母A-F)
其中 %o、%u、%x、%X支持使用子類型,具體情況這里不再贅述。格式化輸出標志符的效果見下面的例子。
例13-7 fprintf 格式化輸出示例。
>> x = 0:.1:1;
>> y = [x; exp(x)];
>> fid = fopen('exp.txt', 'wt');
>> fprintf(fid, '%6.2f .8f\n', y);
>> fclose(fid)
ans =
0
顯示該文件:
>> type exp.txt
0.00 1.00000000
0.10 1.10517092

0.90 2.45960311
1.00 2.71828183
例13-9 利用 fprintf 函數在顯示器上輸出字元串
>> fprintf(1,'It''s Friday.\n')
It's Friday.
在該例中,利用1表示顯示器,並且用兩個單引號顯示單引號,使用\n進行換行。在格式化輸出中,這類符號稱為轉義符。MATLAB中的常用轉義符如表13-6所示。


表13-6 MATLAB中的常用轉義符
轉 義 符 功 能
\b 退格
\f 表格填充
\n 換行符
\r回車
\ttab
\\ 反斜線
\'' 或 '' 單引號
%% 百分號
13.4 利用界面工具導入數據
除前面幾節介紹的函數外,也可以通過界面工具將數據導入到工作區中。本節介紹利用工作區瀏覽器中的工具導入數據。

❿ Matlab怎樣導入某一文件夾下的txt文件

用Matlab的load()載入命令函數,導入某一文件夾下的txt文件。

具體實現代碼:

A=load('D:MATLAB1970_gsk123.txt')

A——將「123.txt」文件里的數據賦值給A矩陣

熱點內容
馬路上汽車的噪音在多少分貝 發布:2023-08-31 22:08:23 瀏覽:1524
應孕棒多少錢一盒 發布:2023-08-31 22:08:21 瀏覽:1029
標准養老金一年能領多少錢 發布:2023-08-31 22:05:05 瀏覽:1326
湖北通城接網線多少錢一個月 發布:2023-08-31 21:59:51 瀏覽:1400
開隨車吊車多少錢一個月 發布:2023-08-31 21:55:06 瀏覽:1172
京東付尾款怎麼知道前多少名 發布:2023-08-31 21:52:58 瀏覽:1481
在學校租鋪面一個月要多少錢 發布:2023-08-31 21:52:09 瀏覽:1618
2寸有多少厘米 發布:2023-08-31 21:50:34 瀏覽:1247
知道電壓如何算一小時多少電 發布:2023-08-31 21:46:20 瀏覽:1232
金手鐲54號圈周長是多少厘米 發布:2023-08-31 21:44:28 瀏覽:1405