matlab 矩阵分割矩阵读入矩阵后A 256*256,想分割8*8,要么括号,要么下标总是有问题,应该怎么改,B矩阵需要特殊初始定义吗for i=1:32for j=1:32B(i,j)=A((1+(i-1)*8):(8*i),(1+(j-1)*8):(8*j))endend
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 08:40:08
matlab 矩阵分割矩阵读入矩阵后A 256*256,想分割8*8,要么括号,要么下标总是有问题,应该怎么改,B矩阵需要特殊初始定义吗for i=1:32for j=1:32B(i,j)=A((1+(i-1)*8):(8*i),(1+(j-1)*8):(8*j))endend
matlab 矩阵分割矩阵
读入矩阵后A 256*256,想分割8*8,要么括号,要么下标总是有问题,应该怎么改,B矩阵需要特殊初始定义吗
for i=1:32
for j=1:32
B(i,j)=A((1+(i-1)*8):(8*i),(1+(j-1)*8):(8*j))
end
end
matlab 矩阵分割矩阵读入矩阵后A 256*256,想分割8*8,要么括号,要么下标总是有问题,应该怎么改,B矩阵需要特殊初始定义吗for i=1:32for j=1:32B(i,j)=A((1+(i-1)*8):(8*i),(1+(j-1)*8):(8*j))endend
(1)B矩阵需要预定义
(2)你所谓的8*8是这个意思吧
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
32*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32\x0932*32
(3) B(i,j)=A((1+(i-1)*8):(8*i),(1+(j-1)*8):(8*j))等式左边是一个值,而等式右边是一个8*8的矩阵.
最后,按照你的算法,可以这样做
B=zeros(8,8,32,32)
for i=1:8
for j=1:8
row=(i-1)*32+1 %行
column=(j-1)*32+1 %列
B(i,j,:,:)=A(row:row+31,column:column+31)
end
end