PDA

查看完整版本 : 【求助】关于如何将text格式数据转化成matrix


vic253461
2008-04-10, 05:03
本人有一数据需要从text格式转化到matrix。请大家帮帮忙
我有一个转化程序, 但不是很明白,也请大家指教
请你能不能帮我将里面几个函数的作用说明一下,特别是Y[]与B[];
在test数据里如何截取有用的数据
这两个循环里面:
if double(tline(1))=='S'
Y=[Y;B];
B=0*a;
end

if double(tline(1))>48&&double(tline(1))<=57
j=length(tline);
for i=1:j
if tline(i)==','
break
end
end

[double(tline(1))=='S'] S是什么意思

[ if double(tline(1))>48&&double(tline(1))<=57] 48 与57 有失是什么??
那着下面有是什么意思:
strX=tline(1:i-1);
strA=tline(i+1:j);
XO=str2num(strX)-39;
X=round(XO);
A=str2num(strA);
B(X)=A

Y=[Y;B];

strX与strA个是什么
XO是什么
str2num(strX)-39是什么
X=round(XO);是什么
A=str2num(strA);是什么
B(X)=A是什么

Y=[Y;B];是什么

dnping
2008-04-10, 08:02
哪里不懂??
建议楼主将问题讲清楚,这个只是一个简单的读取text数据文件的程序,里面有一些判断,就是找到符合你要的数据的行标志,以读取数据……

vic253461
2008-04-10, 08:24
请你能不能帮我将里面几个函数的作用说明一下,特别是Y[]与B[];
在test数据里如何截取有用的数据

dnping
2008-04-10, 08:35
这个只是对变量进行初步赋值,在matlab里面,你在编程的时候最好是要对重要变量进行预赋值,就是在程序的前面赋予其空,即这个程序里面的:
Y=[];
B=[];
然后,在后面进行一个判断,如果符合这个判断的,则将这个判断之中或者在这个判断所覆盖的范围之内的数据全部提出,放到一个矩阵或者向量中,对于如何在向量中不断添加数据?这个就是程序里面的for循环体系中的东东了:
B=.
Y=[Y;B]
将数据不断添加到Y这个向量或者矩阵中……

vic253461
2008-04-10, 08:52
这两个循环里面:
if double(tline(1))=='S'
Y=[Y;B];
B=0*a;
end

if double(tline(1))>48&&double(tline(1))<=57
j=length(tline);
for i=1:j
if tline(i)==','
break
end
end

[double(tline(1))=='S'] S是什么意思

[ if double(tline(1))>48&&double(tline(1))<=57] 48 与57 有失是什么??

dnping
2008-04-10, 08:59
每个字母或者每一个字符在计算机里面都对应着一个ASCII码,就是对应着一个数字,上面的那些数字就是判断Tline中的字符转换成ASCII码之后的数字,如果在其之间的,那我的字符就满足我的要求了……

matlab可以将ASCII和字符进行判断,上面的S就是判断Tline中的第一个字符是不是S……

vic253461
2008-04-10, 09:17
那着下面有是什么意思:
strX=tline(1:i-1);
strA=tline(i+1:j);
XO=str2num(strX)-39;
X=round(XO);
A=str2num(strA);
B(X)=A

Y=[Y;B];

strX与strA个是什么
XO是什么
str2num(strX)-39是什么
X=round(XO);是什么
A=str2num(strA);是什么
B(X)=A是什么

Y=[Y;B];是什么