MATLAB讀取txt的一些方法簡單記錄

2021-07-05 21:59:28 字數 1251 閱讀 7734

文件內容是數字和字元混合的時

(1)比如文件testreaddata.txt 為

1  a  w   2   c  3

7  b  d  8   e  9

3  f  s   6   r   5

m=3;n=6;

data=cell(m,n);%定義cell矩陣,儲存檔案內容

fid=fopen('d:\projects\matlabproject\dailypractice\testreaddata.txt','r');%以唯讀方式開啟檔案

for i=1:m

for j=1:n

data=fscanf(fid,'%s',[1,1]);%以字元方式讀取每個值,遇空格完成每個值的讀取

endendfclose (fid);

for i=1:m

for j=1:n

data1=str2double(data);%將文字格式轉為數字格式

endendstr=cell(m,[1,4,6]);%用於儲存data的第一列

for i=1:m

str=data1;

str=data1;

str=data1;

endstr=cell2mat(str);

此時str的內容為

123789

365

(2)文件data.txt為

0.129515 ddaa  01  2.24609 94.50000  98

0.130434 ddaa  01  2.24609 96.30000  9a

0.131441 ddaa  01  2.24609 97.20000  9b

0.132448 ddaa  01  2.24609 99.00000  9d

0.133507 ddaa  01  2.24609 100.80000  9f

0.134515 ddaa  01  2.24609 101.70000  a0

[col1,col2,col3]=textread('data.txt','%f %*s %*d %f %f %*s',-1);這是讀取的為第1,4,,5列的資料,*表示省略。

(3)使用importdata命令

ex=importdata('data.txt')

ex.data為資料,位於資料之後的字元會被忽略。

不過剛才發現個問題,我使用importdata命令,結果一直在出錯,資料/字元讀取不對,昨天還對著,今天就不對了,還沒弄明白。

關於MATLAB讀取txt檔案的方法

ilovematlab論壇最常見的問題top200 一 如何讀取乙個文件下,多個txt檔案?一般讀取的檔案,命名都具有一定的規律,除去相同部分,剩下的變化按照時間 序號 某一特定的標誌符等進行排列。下面我們舉個例子來操作。假如資料夾裡存在以下檔案 cs20170701 cs20170702 cs20...

Matlab讀取CAN盒生成的txt文件資料

文件內容如下 序號 傳輸方向 接收時間標識 幀id 幀格式 幀型別 資料長度 資料 0 接收 1600.8149 0x00000000 資料幀 擴充套件幀 0x05 00 00 01 00 00 1 接收 1600.8152 0x11111111 資料幀 擴充套件幀 0x06 fd 2e 63 08...

matlab的一些語法知識

matlab作為 工具,如今已經成為工科生必會的工具,其語法和c語言很相似,那麼就來複習一下吧。round 函式和fix 函式的作用都是取整,區別是,round是四捨五入,而fix是都捨掉了,即向0取整。還有floor 是不大於該數的最接近的整數,ceil 為不小於該數的最接近的整數。除是整個相除,...