|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
& T% B& d! o4 F3 a
1,软件环境:Windows 7 Ultimate sp1、matlabR2012b 32bit
K Y s. _' M, |0 P9 m. A6 x( ]- Y" Y1 p
在一个项目中,需要从xlsx文件中读取数据到矩阵中,但是xlsx中某些列是字符串,因此必须通过元胞形式读取,然后再处理成矩阵的形式,下面我们来看看操作过程:$ r6 H) m3 n9 W* J
4 v; K! K# o, o, w, }0 t Q6 X[num,txt,raw]= xlsread('./数据.xlsx');$ A+ O) n6 T) D' Y! _# `
RES(resRow,1) = raw{i,4}
* ^ h8 D# L9 {5 q! f* M. u1 [发现第二行报错,Subscripted assignment dimension mismatch,原因其实是raw{i,4}读取到的是一个字符串的形式,我们需要转成number类型才能够赋值给矩阵,于是代码改成下面:
# R( n; B7 x3 _3 R% Y3 r" j: {3 s3 j
RES(resRow,1) = str2num(raw{i,4});1 \$ A! Z1 c) j6 H
问题解决,另外需要注意一下,matlab 中cell元胞的访问形式如下:
2 V u' s2 K3 l2 _9 _2 W. ~) t7 ]" E+ J2 r
1、使用Cell(a,b)括号的形式访问,返回的是第a行b列的Cell,返回的是一个子Cell。
( y' N- o4 d& ]) M# r5 {2 N4 G6 E* X% [, i
2、使用Cell { a,b }大括号的形式访问,返回的是第a行b列的Cell中的内容,返回的是字符串。
8 f6 n8 W6 @9 q, f2 ?7 c5 `- s. J( }$ n; Z/ |
|
|