Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-04-10, 05:03   #1
vic253461
初级会员
 
注册日期: 2008-04-10
年龄: 41
帖子: 4
声望力: 0
vic253461 正向着好的方向发展
默认 【求助】关于如何将text格式数据转化成matrix

本人有一数据需要从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];是什么
上传的附件
文件类型: txt test.txt (13.9 KB, 2 次查看)
文件类型: txt pro.txt (538 字节, 2 次查看)
vic253461 当前离线   回复时引用此帖
旧 2008-04-10, 08:02   #2
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24
dnping 是一个将要出名的人
默认

哪里不懂??
建议楼主将问题讲清楚,这个只是一个简单的读取text数据文件的程序,里面有一些判断,就是找到符合你要的数据的行标志,以读取数据……
dnping 当前离线   回复时引用此帖
旧 2008-04-10, 08:24   #3
vic253461
初级会员
 
注册日期: 2008-04-10
年龄: 41
帖子: 4
声望力: 0
vic253461 正向着好的方向发展
默认

请你能不能帮我将里面几个函数的作用说明一下,特别是Y[]与B[];
在test数据里如何截取有用的数据
vic253461 当前离线   回复时引用此帖
旧 2008-04-10, 08:35   #4
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24
dnping 是一个将要出名的人
默认

这个只是对变量进行初步赋值,在matlab里面,你在编程的时候最好是要对重要变量进行预赋值,就是在程序的前面赋予其空,即这个程序里面的:
Y=[];
B=[];
然后,在后面进行一个判断,如果符合这个判断的,则将这个判断之中或者在这个判断所覆盖的范围之内的数据全部提出,放到一个矩阵或者向量中,对于如何在向量中不断添加数据?这个就是程序里面的for循环体系中的东东了:
B=.
Y=[Y;B]
将数据不断添加到Y这个向量或者矩阵中……
dnping 当前离线   回复时引用此帖
旧 2008-04-10, 08:52   #5
vic253461
初级会员
 
注册日期: 2008-04-10
年龄: 41
帖子: 4
声望力: 0
vic253461 正向着好的方向发展
默认

这两个循环里面:
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 有失是什么??
vic253461 当前离线   回复时引用此帖
旧 2008-04-10, 08:59   #6
dnping
高级会员
 
注册日期: 2007-07-26
年龄: 40
帖子: 268
声望力: 24
dnping 是一个将要出名的人
默认

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

matlab可以将ASCII和字符进行判断,上面的S就是判断Tline中的第一个字符是不是S……
dnping 当前离线   回复时引用此帖
旧 2008-04-10, 09:17   #7
vic253461
初级会员
 
注册日期: 2008-04-10
年龄: 41
帖子: 4
声望力: 0
vic253461 正向着好的方向发展
默认

那着下面有是什么意思:
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];是什么
vic253461 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
如何在GUI中调用simulink thb296 MATLAB论坛 2 2009-04-28 10:10
【求助】请问谁有matlab工具箱应用方面的书? casc42 MATLAB论坛 5 2008-09-22 16:53
[求助]knnclassify处理海量如何数据 iwwibyts MATLAB论坛 0 2008-04-23 15:26
【求助】 jackie MATLAB论坛 1 2008-03-13 21:05


所有时间均为北京时间。现在的时间是 20:52


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.