如何在没有for循环的情况下编写这个matlab代码

时间:2015-10-09 13:52:37

标签: matlab

我有以下matlab代码:

    messages_llr_matrix = sparse(ROW_NUM, COL_NUM);
    for index = 1 : length(II)
        messages_llr_matrix(II(index), JJ(index)) = ...
        code_word_aprior_prob(JJ(index));
    end

如果矩阵中的元素不为零,则此代码采用向量并将其复制到稀疏矩阵行。

matlab告诉我不要在之前的matlab代码中使用索引,因为它使得它非常慢。 我想以下列方式构建messages_llr_matrix矩阵:

messages_llr_matrix = sparse(II,JJ,code_word_aprior_prob,ROW_NUM,COL_NUM);

这不是一个有效的解决方案。

1 个答案:

答案 0 :(得分:2)

问题似乎是在后一个代码中II(ind)JJ(ind)code_word_aprior_prob(ind)应该在一起,但在您的约定中,您需要code_word_aprior_prob(JJ(ind))

尝试拨打

messages_llr_matrix = sparse(II,JJ,code_word_aprior_prob(JJ),ROW_NUM,COL_NUM);