【问题标题】:About the matrix indexing关于矩阵索引
【发布时间】:2020-06-24 12:54:00
【问题描述】:

我有一个大小为 (16,16) 的零矩阵 P;我需要将 1:4:end 列中的前 4 行替换为 1,然后将 2:4:end 列中的下 4 行替换为 1,依此类推。 我已经这样做了,但我注意到在第二行中,这些在第 1 列和第 2 列中重复,但是我想要的只是在 1:4:end 列中。

这是我制作的代码:

P = zeros(16,16); 
for i = 1 : 4 
    P(i:i*4,i:4:end)=1; 
end

您能帮忙解决这个问题吗? ?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    将选中的行移动(ii-1)*4

    P = zeros(16,16); 
    
    for ii = 1:4 
        P([1:4]+(ii-1)*4,ii:4:end)=1; 
    end
    

    顺便说一句:避免使用 i 作为变量,因为它是 matlab 内置函数返回虚数单位。

    【讨论】:

      猜你喜欢
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      • 2019-10-20
      • 1970-01-01
      • 2016-11-17
      相关资源
      最近更新 更多