Matlab按行读取数据的方法
来源:互联网 发布:生死狙击刷金币软件 编辑:程序博客网 时间:2024/06/07 11:01
最近要处理一些机械制造时用到的G代码,想要按行来读取,因为G1后面直接就是坐标,读取出来就很方便使用了。
处理的数据片段如下:
G90
G21
M103
M105
M106
M140 S60.0
M141 S30.0
M142 S0.0
M113 S1.0
M108 S210.0
M104 S200.0
G1 X-57.6 Y-30.312 Z0.72 F60.0
M101
G1 X-57.6 Y30.312 Z0.72 F240.0
G1 X-54.72 Y30.312 Z0.72 F240.0
...(都是G1了,所以省略了)
G1 X48.96 Y-30.312 Z0.72 F240.0
G1 X51.84 Y-30.312 Z0.72 F240.0
G1 X51.84 Y30.312 Z0.72 F240.0
G1 X54.72 Y30.312 Z0.72 F240.0
G1 X54.72 Y-30.312 Z0.72 F240.0
G1 X57.6 Y-30.312 Z0.72 F240.0
G1 X57.6 Y30.312 Z0.72 F240.0
M103
M108 S210.0
G1 X-57.636 Y0.0 Z1.18 F960.0
M101
G1 X57.636 Y0.0 Z1.18 F960.0
G1 X57.636 Y-1.44 Z1.18 F960.0
G1 X-57.636 Y-1.44 Z1.18 F960.0
G1 X-57.636 Y-2.88 Z1.18 F960.0
G1 X57.636 Y-2.88 Z1.18 F960.0
G1 X57.636 Y-4.32 Z1.18 F960.0
G1 X-57.636 Y-4.32 Z1.18 F960.0
G1 X-57.636 Y-5.76 Z1.18 F960.0
....
以上文件存为“test.txt”
处理:
1. strncmp 比较两个字符串前n个字符是否相等,是,返回真,否则,返回假
我一开始用的是strcmp,由于g代码中的M101与M103那一行的格式并不完全一致,有的在这四个字符后加了空格,有的好像加了回车符,特别不好处理。好在这里只需要以前四个字符作为标志就可以判断了,所以strncmp非常适合。
2. fgets
可以用于一行一行地读取,类似的还有fgetl。
代码解释:
以上代码中的设计思想,最重要的是按行读取之后,以X为标志开始坐标的读取,只要读入的字符在0到9之间或者是负号或者小数点就读入,如果不是则跳过。
以上代码处理坐标读入时,一开始写了X, Y, Z分别处理的三个类似的if加上while的片段,但是只有第一个if被执行,后面的两个if好像都没起作用,怀疑是坐标之间有奇怪字符使得无法运行。现在正常工作的这个代码也不是最高效的,第31行的while与第36行的只相差一个~,其实可以合并的,但是这又要识别X, Y, Z了,又有点麻烦了。暂时先就这样吧。
- Matlab按行读取数据的方法
- ECG数据在Matlab下的读取/显示方法
- Matlab读取的图像的数据排列
- MATLAB 读取NC数据的命令
- matlab 读取figure 文件上的数据
- MATLAB读取CCS保存的数据
- MATLAB读取CCS保存的数据
- matlab读取txt特定位置的数据
- Matlab学习笔记:读取txt的数据
- matlab 读取文件数据的方式
- matlab读取视频文件的图像数据
- Matlab读取Access数据库的数据01
- MIT-BIH ECG 信号的数据读取方法和Matlab程序
- MIT-BIH ECG 信号的数据读取方法和Matlab程序
- WFDB软件包简介——ECG数据在Matlab下的读取/显示方法
- Matlab数据处理——数据的保存和读取方法操作
- MIT-BIH ECG 信号的数据读取方法和Matlab程序
- matlab读取二进制数据文件的方法
- OJ_1100 最短路径
- MFC--删除指定目录下的文件夹及其文件
- ORACLE数据库Dataguard dg broker 3大模式相互切换 主备库互相切换
- AForge学习笔记(5):AForge.Imaging(下)
- c++继承及例子
- Matlab按行读取数据的方法
- AForge学习笔记(8):AForge.Imaging.ColorReduction
- AForge学习笔记(9):AForge.Imaging.ComplexFilters
- clCreateBuffer参数说明
- AForge学习笔记(10):AForge.Imaging.Filters
- telepresence: Open Source SIP Telepresence/MCU
- 大话数据结构之算法 时间复杂度
- 寒假总结
- CYYMysql 源码解读 3