matlab – 替换Julia中子矩阵中的值

在将matlab代码转换为Julia时,是否有一种有效的编码方式,而不是我在下面所做的编码?特别是当parent_matrix的大小为2000X2000且inner_matrix的大小为800X1时?

Matlab的:

parent_matrix(inner_matrix(:),inner_matrix(:)) = replace_matrix;

朱莉娅:

ind_inner_vec=reshape(inner_matrix,size(inner_matrix)[1].*size(inner_matrix)[2],1)
z=1
for x in ind_inner_vec
    for y in ind_inner_vec
        parent_matrix[y,x]=replace_matrix[z]
        z=z+1
    end
end

最佳答案 如果我理解正确的话

parent_matrix[vec(inner_matrix),vec(inner_matrix)] = replace_matrix

会做你想做的.请注意,仅需要vec,因为您说inner_matrix是一个列矩阵 – 如果它实际上是一个向量,则不需要它.

点赞