【问题标题】:How to make all possible changes of bit of codeword?如何对码字位进行所有可能的更改?
【发布时间】:2017-11-29 22:38:41
【问题描述】:

我想明白这句话。

'' 对于1<=f<=4,对k 码字vf 位进行所有可能的更改。''

例子:

if k = 4 and v = [1 1 0 0 1 0 0]

对我来说,我们得到:

for f = 1 : u1 = [1 0 0 0] ; u2 =[0 1 0 0]; u3 = [0 0 1 0] and u4 =[0 0 0 1];
for f = 2 : u2 = [1 1 0 0] ; u2 =[1 1 0 0]; u3 = [1 0 1 0] and u4 =[1 0 0 1]; 
u5 = [0 1 1 0]; u6 = [0 0 1 1];
for f = 3 : u1 = [1 1 1 0]; u2 = [1 1 0 1]; u3 = [1 0 1 1] and u4 = [0 1 1 1];
for f = 4 : u1 = [1 1 1 1];

谁有其他的理解这句话的方法?

谢谢。

【问题讨论】:

    标签: matlab binary linear-algebra


    【解决方案1】:

    kv 中的位数。 f 是要更改的位数。对我来说,这个问题归结为:

    显示vv 相同的k-f 位的所有变体

    例如,对于f = 4, v = [0,0,0,0,0],我们将获得:

    v = [1,0,0,0,0]
    v = [0,1,0,0,0]
    v = [0,0,1,0,0]
    v = [0,0,0,1,0]
    v = [0,0,0,0,1]
    

    【讨论】:

    • 感谢@Owen Hempel 的想法。但是,如果我们知道 v 的值,例如包含 7 位。用你的想法应该得到什么结果?对于1<=f<=4,对f4 位码字v 进行所有可能的更改。
    • 好吧,你说的是k = 7。您需要有效的代码解决方案吗?
    • 到目前为止你尝试过什么?我想帮助你,但你不会通过复制粘贴我的代码来学习。此外,这是一个相对简单的算法。试着想想你需要计算什么。如果您发现自己多次编写相同的代码行,请尝试将其压缩为一个函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 2016-11-13
    • 2015-03-22
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多