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中。