日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

提取二维矩阵中分块后指定的块

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 提取二维矩阵中分块后指定的块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

對一個二維矩陣I(N×N)進行分塊(塊大小為n×n),并提取其中第ii塊中的元素

?

% 對二維矩陣I進行[n n]分塊,取其中第ii塊中的元素
function x = getBlock(I, n, ii)
??? N = size(I, 1);
??? n1 = N / n;
??? n2 = n * n;
??? [a, b] = ind2sub([n1 n1], ii);
??? p = (b-1) * n * (n1 * n) + (a-1) * n;?? % 計算I中第ii塊之前的元素個數
??? c = 1;
??? for i = 1 : n
??????? for j = 1 : n?????????????????????? % 從p點向下走n步
??????????? x(c) = I(p+j);
??????????? c = c + 1;
??????? end
??????? p = p + N;????????????????????????? % 從p點向右走N步(因為I中每一列有N個元素)
??? end
??? x = reshape(x, n, n);

?

測試代碼:(分別提取I中各塊的數據)

clear;
clc;
I = magic(4);
N = size(I, 1);
n = 2;
blockNum = round(N * N / (n * n));????? % 取整
for ii = 1 : blockNum
??? x(:, :, ii) = getBlock(I, n, ii);?? % 取得第ii塊中的元素
end

% 輸出塊中的內容
for ii = 1 : blockNum
??? I, ii
??? y = x(:, :, ii)
end

?

?

運行結果:

總結

以上是生活随笔為你收集整理的提取二维矩阵中分块后指定的块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。