matlab中double、char和cell的互轉



首先我們要讀入txt文檔,讀入txt文檔的函數為:A=importdata(filename.txt),讀入之后才可以對文檔進行處理,讀入之后一般會有data和textdata兩個字段,你需要那個就直接A.data或A.textdata獲取。
獲取完之后就存在這轉換問題了,比如我們最終要的格式為:

可以看出有些事char字符型,有的是矩陣型
所以接下來就是轉換問題,前提是要弄清楚你要的是什么類型,有的是什么類型
1、cell2mat:將cell轉換為mat的char型
2、str2num:將mat從char轉換為double型
3、cellstr:將char轉cell
4、num2str:將double轉char
5、num2cell:將double直接轉cell

比如:

files = dir( ['\*.txt']);
name = files.name;
A = importdata(name);
info = A.textdata;
B(1).objects(1).bbox(:,1)=str2num(cell2mat(info(j,4))); B(1).objects(1).bbox(:,2)=str2num(cell2mat(info(j,5)));
1
2
3
4
5
6
就可以獲取txt文檔中第4列和第5列的數據存入一個B的struct中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM