声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2141|回复: 2

[编程技巧] matlab如何读取文件中指定数字?

[复制链接]
发表于 2008-5-17 11:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
类似于如下各式的数据
7E 42 7D 5E 00 0B 7D 5D 18 00 00 01 00 00 00 33 80 06 00 00 EA B2 81 00 DD 3C 81 00 4B 65 80 00 14 DC 93 7E
7E 42 7D 5E 00 0B 7D 5D 18 00 00 02 00 00 00 33 80 06 00 00 FE 3E 48 00 F6 EC 47 00 62 1A 47 00 7A 06 67 7E

我想要读取7E和7E之间的数 并且在每个7E之间只读取42 7D 5E 00 0B 7D 5D 18 00 00  之后的那些数
我用fscanf读入到矩阵后要如何操作呢?
小弟刚学matlab 不知道该如何处理了
请各位大牛帮忙
回复
分享到:

使用道具 举报

发表于 2008-5-17 12:10 | 显示全部楼层
原帖由 van_van 于 2008-5-17 11:07 发表
类似于如下各式的数据
7E 42 7D 5E 00 0B 7D 5D 18 00 00 01 00 00 00 33 80 06 00 00 EA B2 81 00 DD 3C 81 00 4B 65 80 00 14 DC 93 7E
7E 42 7D 5E 00 0B 7D 5D 18 00 00 02 00 00 00 33 80 06 00 00 FE 3E 48  ...


根据数据存储的规律,用for循环试试看
发表于 2008-5-17 22:24 | 显示全部楼层
说一下基本思路吧

1. fopen fgets读入一行相关数据
2. findstr 字符串 '7E 42 7D 5E 00 0B 7D 5D 18 00 00' 的位置a,则(a+'7E 42 7D 5E 00 0B 7D 5D 18 00 00'的长度+1) 即你需要的读取的第一个数据的位置
3. 同样用findstr查询字符串‘7E’,其中第二个值b,则(b-2),就是你要操作的数据的最后一个数据的位置
4. ((a+'7E 42 7D 5E 00 0B 7D 5D 18 00 00'的长度+1):(b-2))就是你要获取的数据,注意这是字符型的,后面该怎么操作就怎么操作吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 09:34 , Processed in 0.055411 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表