有一个点数据文件,格式如下

height =10,width=15696,num=156960
1796.61, -853.93,    0.00,    0.00,    0.00,    0.00
1801.61, -853.93,    0.00,    0.00,    0.00,    0.00
1806.61, -853.93,    0.00,    0.00,    0.00,    0.00
1811.61, -853.93,    0.00,    0.00,    0.00,    0.00
1816.61, -853.93,    0.00,    0.00,    0.00,    0.00
1821.61, -853.93,    0.00,    0.00,    0.00,    0.00

说明:
(1)第一行为文件头,描述了后面的点数据(如height)。参数格式为:key=value 等号左右可能都有空格。
(2)第二行之后的全部为点数据

%
filename='D:\CodeRepo\dotnet\FileXml\FileXml\data\S4-Model.3d';
delimiterIn = ',';
headerlinesIn = 1;
t1=clock;
% 使用importdata导入数据自动将数据分为textdata和data部分。
% textdata用来存放头部信息
% data用来存储矩阵数据
idata = importdata(filename,delimiterIn,headerlinesIn);
[datarow datacol]=size(idata.data);% 使用正则表达式对第一行参数字符串进行分析。
% 参数格式如:参数名1=参数值1;
% 多个参数之间可以用逗号分隔
pattern='\s*([^\s,]+)\s*=\s*([^\s,]+)[\s]*';
match =regexpi(idata.textdata,pattern,'tokens');
if (isempty(match{1}))disp('参数行不符合规定格式')
else[r,c]= size(match{1,1}) ;disp(['匹配参数数量' c ])keys=cell(1,c);values=cell(1,c);for i=1:cdisp( ['参数名- ' match{1,1}{1,i}{1,1}  '  参数值-' match{1,1}{1,i}{1,2} ])keys{1,i}= [match{1,1}{1,i}{1,1}] ;values{1,i}=[match{1,1}{1,i}{1,2}];end% 转换成Key/Value,可以用params(key)访问,isKey(params,'A')判断是否存在params=containers.Map(keys,values);
end
t2=clock;
etime(t2,t1)height=str2num(params('height'));
width=str2num(params('width'));
num=str2num(params('num'));
% 156960
if height*width ~= num &&  num~=datarow disp('点数量和行列不对')%return
end% 读取数据,每行表示一个点,转换成struct
%
meshdata=cell(height,width);
t1=clock;
for   i=1: heightfor  j=1:width*datacolpoint.x=idata.data(i,1);point.y=idata.data(i,2);point.z=idata.data(i,3);point.a=idata.data(i,4);point.b=idata.data(i,5);point.c=idata.data(i,6);meshdata{i,j}=point;end
end
t2=clock;
etime(t2,t1)
return

Matlab读取文本数据相关推荐

  1. Matlab读取二进制数据文件

    第一步:函数fopen打开文件 fid=fopen('文件名',读取方式) fid:句柄值 小于0表示打开失败:大于0表示打开成功 文件名:字符串,使用单引号(本文例子'savedata.dat') ...

  2. MATLAB读取nc数据并显示

    本篇博客主要介绍采用MATLAB读取nc数据并进行显示. 首先是显示经纬度: 示例代码: lon = ncread('met_em.d02.2018-09-12_00_00_00.nc', 'XLON ...

  3. IDL和MATLAB读取grib数据

    IDL读取grib数据 (1)      需要IDL8.1以上版本 (2)      代码如下:        (3)      读取的数据结果在ENVI中查看如下: 可以看到在山东半岛的角上的值为0 ...

  4. python读取文本数据绘制曲线图

    目录 写在前面 代码 reference 写在前面 1.本文内容 python读取文本数据曲线图 2.转载请注明出处: https://blog.csdn.net/qq_41102371/articl ...

  5. matlab统计文本数据画直方图,matlab从txt中读取某列数据画直方图

    今天本来出去吃饭,回来准备咸鱼躺,结果室友问我matlab的直方图的问题,那就把首次博客内容定为直方图吧.txt中部分数据: 10000000 1E-09 1E-09 -0.0002816916 0. ...

  6. matlab读取txt数据文件

    一.load()函数 load函数适合读取纯数据文本 例子,data_txt.txt内容如下: 0 1.000000 2.000000 3.000000 1 3.000000 4.000000 5.0 ...

  7. matlab读取excel数据并画图

    Matlab可以使用函数"xlsread"来读取Excel数据. 语法: [num,txt,raw] = xlsread(filename) 其中,"filename&q ...

  8. matlab读取txt数据绘图(python命令行传参)

    (1)命令行实现高斯分布 一:综述 Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Jav ...

  9. 使用Matlab读取二进制数据文件

    第一步:打开文件,用到的函数fopen fid=fopen('文件名',读取方式) fid:句柄值:小于0表示打开失败:大于0表示打开成功 文件名:字符串,使用单引号(本文例程'savedata.da ...

最新文章

  1. ii第六单元 文本处理工具
  2. 解决git did not exit cleanly (exit code 128)
  3. SVN:This client is too old to work with working copy…解决的方法
  4. python爬虫项目教程_Python 爬虫速成教程,还有35个实战项目送给你
  5. 启明智显分享| 关于ESP32-S3系列串口屏应用时配网需知
  6. node JS 微信开发
  7. notepad json格式化插件_Prettier + ESLint VSCode 插件配置指南
  8. adb shell 调试 Android 串口
  9. 后端学习 - JavaWeb
  10. Struts入门(三)深入Struts用法讲解
  11. (转) Android平台上关于IM的实践总结
  12. 听云CTO访谈:解读现代应用性能管理(APM)技术
  13. ecshop_商品描述远程图片自动本地化插件
  14. JavaScript 类型判断的那些事
  15. python开发android应用app,python开发app开发框架
  16. 金蝶套打文件放服务器还是本地,金蝶软件套打使用说明
  17. 什么是php数组,PHP数组是什么?
  18. HTML颜色编码和名称
  19. java毕业设计——基于java+J2ME的五子棋网络对战游戏设计与实现(毕业论文+程序源码)——五子棋网络对战游戏
  20. S-003 MIPI接口与LVDE接口的区别

热门文章

  1. [UWP]涨姿势UWP源码——Unit Test
  2. 第三个spring冲刺第5、6、7天(三天汇总)
  3. Ubuntu 13.04 安装 SSH SERVER记
  4. MiaSocks发布第一个测试版
  5. android根据项目把文件编译到文件系统中
  6. 修改framework后重新刷入手机
  7. linux文件系统简介
  8. 计算机操作系统开启审计功能,深入浅出理解操作系统安全
  9. php smtp tls,php – RoundcubePostfix SMTP:SSL例程:SSL3_READ_BYTES:tlsv1 alert unknown ca:s3_pkt.c...
  10. python3字典有序还是无序_无序字典和有序字典