MATLAB读txt文件,数据和字符串混合在一行,求高手解答!

文件内容:******** Week 616 almanac for PRN-02 ********
ID: 02
Health: 000
Eccentricity: 0.1031303406E-001
Time of Applicability(s): 503808.0000
Orbital Inclination(rad): 0.9385108948
Rate of Right Ascen(r/s): -0.8189090295E-008
SQRT(A) (m 1/2): 5153.700195
Right Ascen at Week(rad): -0.1262802839E+001
Argument of Perigee(rad): -2.977361917
Mean Anom(rad): -0.6524369717E+000
Af0(s): 0.3423690796E-003
Af1(s/s): 0.3637978807E-011
week: 616

******** Week 616 almanac for PRN-03 ********
ID: 03
Health: 000
Eccentricity: 0.1431989670E-001
Time of Applicability(s): 503808.0000
Orbital Inclination(rad): 0.9290561676
Rate of Right Ascen(r/s): -0.7912603905E-008
SQRT(A) (m 1/2): 5153.606445
Right Ascen at Week(rad): -0.2421372890E+001
Argument of Perigee(rad): 1.096511960
Mean Anom(rad): -0.5200970173E+000
Af0(s): 0.7295608521E-003
Af1(s/s): 0.3637978807E-011
week: 616
我想一颗卫星一颗卫星(即每两行星号之间为一部分)的读,把每一行的数据分别赋值然后进行计算,看了几天的MATLAB,
如果用textscan之类的函数,就会把整个文件都读入矩阵,而且字符串如果设成%s%d的话,数据不是类型也不是完全对应的;
如果用fgetl一行一行的读,存入的是字符形式,怎样把数据提取出来转成数据形式,然后赋值和计算呢?求高手解答!
比如说A='Eccentricity: 0.1031303406E-001'(字符格式)
我想知道怎么样把0.1031303406E-001提取出来转成数值格式,然后进行计算呢?

第1个回答  2012-04-24
字符转数据可以用eval
Adata=eval(A(find((A>='0' & A<='9') | A=='-',1):end))
第2个回答  2012-04-26
这个可以放在excel中进行数值转换
相似回答
大家正在搜