专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他开发语言

Matlab中数据读写有关问题

发布时间:2011-06-30 07:30:56 文章来源:www.iduyao.cn 采编人员:星星草
Matlab中数据读写问题
有这样一个txt文件:
$MeshFormat
2.2 0 8
$EndMeshFormat
$Nodes
5
1 1 1 0
2 -1 1 0
3 -1 -1 0
4 1 -1 0
5 0 0 0
$EndNodes
$Elements
12
1 15 2 0 1 1
2 15 2 0 2 2
3 15 2 0 3 3
4 15 2 0 4 4
5 1 2 0 1 2 1
6 1 2 0 2 4 1
7 1 2 0 3 3 2
8 1 2 0 4 3 4
9 2 2 0 6 5 4 1
10 2 2 0 6 5 2 3
11 2 2 0 6 3 4 5
12 2 2 0 6 1 2 5
$EndElements

文本内容分为3部分,需要把第3部分12后面的数据读取出来,有什么好办法?
在网上查了很多方法,处理过程中都遇到问题。哎。

------解决方案--------------------
可能比较笨,但是可以解决问题。关键是strread函数,可以把字符串读成单个部分,同时转换为数字。

1. 读文本
fid = fopen(文件名);
T = textscan(fid,'%s','delimiter','\n'); 
T = T{1};
2. 定位
loc = strmatch('$Elements', T );
3. 读数据
data = zeros(...); %预分配空间,如果宽度不一样,就分配的大些。
for i=1:size(data,1)
data(i, :) = strread(T{loc+1 + i});
end
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: