1樓:匿名使用者
a = randi(100,100);%100*100的原來始矩陣,也可以自
是你的影象矩陣
m = 2;
n = 2;
c= mat2cell(a,ones(100/m,1)*m,ones(100/n,1)*n);%按照baim*n的小塊進行分塊
輸出的c是元du胞結構,c是分塊後zhi第dao一行第一列的矩陣塊,其他同理。
matlab中,怎樣把分塊矩陣的子塊作為一個整體運算和輸出
2樓:
我覺得您的輸bai入完全du可以使用結構陣列呀zhi。
inputstruct=struct('zikuai1',[1 2],'zikuai2',[3 4])%比如這樣
function res=example(inputstruct)然後在函式體中,dao完全可以inputstruct.zikuai1,inputstruct.zikuai2呼叫版矩陣
最後權在res=inputstruct返回就可以了啊。
3樓:娜莉china小
輸入完自全可以使用結構陣列。
inputstruct=struct('zikuai1',[1 2],'zikuai2',[3 4])%比如
bai這樣
function res=example(inputstruct)然後在du函式體zhi中,完全可以inputstruct.zikuai1,inputstruct.zikuai2呼叫dao矩陣
最後在res=inputstruct返回就可以了。
4樓:賴思蔚
inputstruct=struct('zikuai1',[1 2],'zikuai2',[3 4])%比如這樣
matlab矩陣分塊與把分塊矩陣還原
5樓:匿名使用者
a=rand(256,64);
%將a分塊
b=mat2cell(a,ones(256/16,1)*16,ones(64/16,1)*16);
%b就是所要的分塊矩陣
%將分塊矩陣合併
c=cell2mat(b)
%c就是合併好的專矩陣,即屬c=a
6樓:匿名使用者
greatdju已經是正解了,不必老不結題!
matlab中怎麼把一個256*256的矩陣分塊成8*8的矩陣,再對塊矩陣進行迴圈處理
7樓:典素潔巨集斯
有很多來中建立方法啊:m=
zeros(256);%建立源0矩陣,但輸入預設二維矩陣,等於zeros(256,256),下同m=
ones(256);
%建立全1矩陣
m=eyes(256);%建立單位矩陣
m=rand(256);%建立[0,1]隨機矩陣,m=magic(256)%建立等等
8樓:匿名使用者
k=1;
for i=1:32
for j=1:32
b=a((i-1)*8+1:i*8,(j-1)*8+1:j*8);
k=k+1;
endend
其中a為256*256的矩陣
b為一個
回cell陣列答
matlab中怎麼取一個矩陣的一部分
9樓:灩麗
1、開啟matlab,在命令列視窗中輸入a=[1 2 3 4;4 5 6 7;1 2 3 4],按回車鍵建立一個3行4列的矩陣。
2、如果我們想獲取矩陣第2行第3列的資料,輸入a(2,3)。
3、想獲取矩陣第3列的第一個和第三個,輸入a([1 3],3)。
4、想獲取矩陣某列的連續資料,可以使用a(1:2,3),獲取第3列第1個到第2個資料。
5、使用a(2:end,3)獲取第3列,第2個到最後一個資料,根據需要獲取矩陣資料即可。
10樓:ieio啊
matlab中要取一個矩陣的一部分,可以參考以下內容:
比如說有一個5×5的矩陣,想取它右下腳3*2的矩陣,應該用命令:
a=zeros(5,5)
b=a(3:5,4:5)%取a的(3-5行,4-5列)
b即為所取
matlab中取一個矩陣的一部分(比如格式a(m,n),用於提取矩陣a中符合m,n要求的部分):
1、提取某個元素,則m,n為數字標量,如a(2,3)為第二行第三列的元素。
2、提取某行某列
a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;
a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;
3、提取任意的某部分並重新組成新的矩陣,連續或不連續,單調或不單調
數字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的資料;
步長指定:a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料;
a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣
變數指定:a(b(:,1),:),其中b的第一列含有資料,用來指定取矩陣a的哪些行。
4、變數指定,假設一個矩陣x1中儲存的是座標,用矩陣x1的座標訪問矩陣labels_left中對應的元素:
for i = 1:size(x1,1)
x = labels_left(x1(i,2),x1(i,1));%匹配對1在左圖中的label數
11樓:摩羯面對現實
matlab中取一個矩
陣的一部分方法如下:
格式a(m,n),用於提取矩陣a中符合m,n要求的部分
1、提取某個元素,則m,n為數字標量,如a(2,3)為第二行第三列的元素。
2、提取某行某列
a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;
a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;
3、提取任意的某部分並重新組成新的矩陣,連續或不連續,單調或不單調
數字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的資料;
步長指定:a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料;
a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣
變數指定:a(b(:,1),:),其中b的第一列含有資料,用來指定取矩陣a的哪些行。
4、變數指定,假設一個矩陣x1中儲存的是座標,用矩陣x1的座標訪問矩陣labels_left中對應的元素:
for i = 1:size(x1,1)
x = labels_left(x1(i,2),x1(i,1));%匹配對1在左圖中的label數
end擴充套件資料:
matlab中取一個矩陣的一部分的用法:
1、提取大矩陣的一列、一行元素:
一列元素: a(:,j)表示提取a矩陣的第j列全部元素
一行元素: a(i,:)表示提取a矩陣的第i行元素,
於是我們有,a(i, j)表示提取a矩陣的第i行第j列的元素。
2、提取多行多列元素
多行元素: a(i:i+m,:)表示提取a的第i行到第i+m行的元素。
多列元素: a(:,j:j+n)表示提取a的第j列到第j+n列的元素。
提取塊: a(i:i+m, j:j+n)表示的是mxn的一個子塊的元素。
12樓:du瓶邪
比如原矩陣為a=[1 2 3;4 5 6;7 8 9;10 11 12],現在要生成b=[1 2;4 5;7 8],即提取了原來矩陣的1、2兩列和1、2、3三行~
b = a(1:3, 1:2)
即使提取的行列不連續或者次序需要顛倒也可以寫成諸如a([1,3,6], [4,3,1,5])這樣的形式
13樓:奔三不再二
matlab 矩陣
元素與子矩陣的提取
>> %矩陣元素的提取
>> a=[1 2 3;4 5 6;7 8 9;10 11 12]
a =1 2 3
4 5 6
7 8 9
10 11 12
>> a(3,1)%提取 a 矩陣第 3行,第 1列的元素
ans =
7>>>> %通過元素序號提取元素(矩陣元素序號與它的儲存順序是一一對應的! )
>> a(6)
ans =
5>> %matlab中矩陣元素按列儲存,首先是第 1列,其次是第 2列 ......
>>>> %使用函式 find(c)查詢符合條件的矩陣元素的行和列
>> %函式 find(c)的使用格式 [row,col]=find(c),c一般為邏輯表示式; row 返回滿足條件的元 素的行號, col 返回滿足條件的元素的列號。
>> a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]%查詢 a 矩陣中大於等於 20、小於等於 60的元素。
a =12 34 26 17 21
61 50 89 12 8
25 62 91 23 47
>> [r,c]=find(a>=20&a<=60);
>> b=find(a>=20&a<=60);
>> disp('符合條件的矩陣元素的行號和列號:'),[r,c]
符合條件的矩陣元素的行號和列號:
14樓:匿名使用者
a=zeros(5,5)
b=a(3:5,4:5)%取a的(3-5行,4-5列)
b為所取
matlab對矩陣進行分塊,再對分塊後的每一小塊矩陣進行求和,成為一個新的矩陣?
15樓:
matlab中,只要兩個矩陣的size是一致的,那麼它們就可以用加法加起來。
即使你的大矩陣是有多個塊組成的。求和也是對應的塊進行求和。
matlab如何將讀取影象後的RGB矩陣變換為二維自定義矩陣
這個問題的核心在於怎樣把圖中的各畫素點與指定的四種 五種 顏色對應起來,但圖中的顏色遠不止5種 用hypersnap可以統計出,題主所貼出的影象包含了11234種顏色 猜測這樣的交通流圖應該是在某種軟體系統上根據資料生成的,而生成這樣的圖應該會採用某幾種固定的顏色,題主如果是通過軟體截圖的方式得到的...
如何將matlab矩陣中的NaN替換成
資料矩陣x x find isnan x 1 0或 datas,features size data for k 1 features for i 1 datas if data i,k 0 data i,k mean data k elseif isnan data i,k 1data i,k m...
matlab程式設計,如何將一矩陣中等於某個值的元素全部替換成另
假如要把矩陣a裡的1.5全部換成1,可以用下面命令 a a 1.5 1 假如要把矩陣a裡的nan全部換成1,可以用下面命令 a isnan a nan 1 方法如下 1 比如說是抄2階方陣,現在對其中的元素進行一些運算並把結果重新賦值到另一個矩陣中,proc iml beta q12 beta 1,...