声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1280|回复: 11

[综合讨论] 矩阵转换问题

[复制链接]
发表于 2010-5-13 16:50 | 显示全部楼层 |阅读模式

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

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

x
各位大哥大姐们问个和基础的问题
我想把附件中的LID、TID和QID的数值提取出来并转换成二进制形式使每一位变为新数组的一个元素,LID、TID、QID的位数分别为3、 2、 3
比如说:
LId  TId  QId
0    4    2
要变成一个大的数组[0,0,0,1,0,0,1,0]
怎么办?
先谢过各位啦

Bus_trace.txt

9.2 KB, 下载次数: 1

回复
分享到:

使用道具 举报

发表于 2010-5-13 18:26 | 显示全部楼层
数据存取看看
[原创]使用文本文件(.txt)进行数据存取的技巧总结
http://forum.vibunion.com/forum/ ... 5622&highlight=

转换成二进制, help dec2bin
建议楼主先自行试试!
 楼主| 发表于 2010-5-13 19:37 | 显示全部楼层

回复 沙发 ChaChing 的帖子

多谢版主
不过文本数据存取我会,而且也看过那篇挺好的文章
至于dec2bin我试过了,比方说它确实能把0转成00二进制的形式,但我想把每一位二进制数拆成数组的一个元素,也就是说如果十进制数是3的话,二进制就是011,我想把它变成[ 0,1,1 ]的形式
发表于 2010-5-13 21:24 | 显示全部楼层

回复 板凳 sunbojun0130 的帖子

以前没这样用过, 一时找不到现成函数!
先试试这个
aa=dec2bin(3,3); aa=double(aa)-48
 楼主| 发表于 2010-5-13 22:11 | 显示全部楼层

回复 地板 ChaChing 的帖子

能用 多谢版主 我用了下size(aa)结果是1    2
但是不明白为什么是48?
难道跟ASCII码有关?查了下48对应字符0,发现好多地方都有类似的-48,一直都不明白
发表于 2010-5-13 22:17 | 显示全部楼层

回复 5楼 sunbojun0130 的帖子

Yes! 跟ASCII码有关
 楼主| 发表于 2010-5-14 19:40 | 显示全部楼层

回复 6楼 ChaChing 的帖子

48对应字符0
第一条命令:aa = 010
第二条命令:aa = double(aa)先将其变成双精度,也就是64位,然后再都减64位的0
可我还是想不通 怎么就变成两个数了?
一般像这种-48的语句都有什么作用?都什么情况下用?
劳烦斑竹扫一下盲
多谢
发表于 2010-5-14 23:57 | 显示全部楼层

回复 7楼 sunbojun0130 的帖子

LZ help下char
char(X) converts the array X that contains nonnegative integers representing character codes into a MATLAB character array. The actual characters displayed depend on the character encoding scheme for a given font. The result for any elements of X outside the range from 0 to 65535 is not defined (and can vary from platform to platform). Use double to convert a character array into its numeric codes.

或许这样较清楚
aa=dec2bin(3,3); % aa='011' - 1*3 char
bb=double(aa);   % bb=[48,49,49] - 1*3 double
cc=bb-48;        % cc=[0,1,1] - 1*3 double; bb-48等同bb-[48,48,48]
 楼主| 发表于 2010-5-15 14:28 | 显示全部楼层

回复 8楼 ChaChing 的帖子

o 我明白了 从第一条语句dec2bin实际上就已经是[0,1,1]了,只不过是char,后面的步骤实际上就是把它变成数字的形式
对吧
help中的dec2bin实际上不是单纯的把十进制数变成二进制数,如果是的话size后应该是1,对吧

评分

1

查看全部评分

发表于 2010-5-15 19:23 | 显示全部楼层

回复 9楼 sunbojun0130 的帖子

Right
dec2bin不是单纯的把十进制数变成二进制数, 是变成char!
 楼主| 发表于 2010-5-15 19:42 | 显示全部楼层

回复 10楼 ChaChing 的帖子

恩 学习了 收获不小 多谢斑竹扫盲
感谢斑竹耐心讲解 如果我也可以给人评分的话就给斑竹多加点分

[ 本帖最后由 sunbojun0130 于 2010-5-15 19:44 编辑 ]
发表于 2010-5-16 00:00 | 显示全部楼层

回复 11楼 sunbojun0130 的帖子

客气! 刚好会又有空而已
多来帮忙回应/讨论, 即可增加积分, 届时即有资格评分!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-11 04:04 , Processed in 0.079621 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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