![]() |
[求助]matlab实现对一个8列矩阵的编码程序
b=[1 0 0 0 1 0 0 1;1 0 0 1 0 1 0 0;1 0 0 1 1 0 0 0;1 0 0 1 1 1 1 1]
[m,n]=size(b); f=[]; f(1,1:8)=b(1,1:8); for i=2:m if b(i,5:8)==[1 1 1 1] b(i,5:8)=[0 1 1 1]; end if b(i,1:4)~=b(i-1,1:4) f(i*4+1:(i+1)*4)=[1 1 1 1]; f((i+1)*4+1:(i+2)*4)=b(i,1:4); f((i+2)*4+1:(i+3)*4)=b(i,5:8); else f(i*4+1:(i+1)*4)=b(i,5:8); end end f 我想实现对一个8列矩阵的编码,编码的思想是:每一行代表一个码,前四列为段码,后四列为段内码,若相邻码的段码一致,即在同一段,就只存储短内码;若若相邻码的段码不一致,即不在同一段,则在段码之前插入【1 1 1 1】,后面跟的是段码,段内码;为了与段内码的加以区别,若段内码为【1 1 1 1】,则将其减1 。 以上是我写的程序,但是运行结果不准确,须插入的【1 1 1 1】时未能插入, 希望高手指点一下,谢谢! |
回复: [求助]matlab实现对一个8列矩阵的编码程序
[SIZE=4]我在学习编码,但编程技术还很嫩,有高手愿意帮我吗?
QQ:815303307 希望可以有机会向高手学习!!![/SIZE] |
回复: [求助]matlab实现对一个8列矩阵的编码程序
当你检测出来是第 i 行需要插入[1 1 1 1]时,就用b(i,[1,2,3,4])=[1 1 1 1]就可以了
|
所有时间均为北京时间。现在的时间是 13:20。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.