matlab怎樣將矩陣分塊與分塊矩陣還原

2021-03-04 00:47:16 字數 3529 閱讀 1893

1樓:匿名使用者

matlab將乙個矩陣分成多個塊矩陣可以用如下方法:

設矩陣x有p乘q個值(p和q都假設大於3),取出1到3行,1到3列的一小塊矩陣x1,輸入** x1=x(1:3,1:3)即可,前面1:

3是第1行到第3行,後面1:3表示第1列到第3列。

matlab把塊矩陣合成乙個矩陣

設矩陣a有p乘q個值,b矩陣有p乘m個值,則輸入c=[a b],可以合成p乘(q+m)的乙個大矩陣。行數相同,可以在列後面加列

設矩陣a有p乘q個值,b矩陣有m乘q個值,則輸入c=[a;b],可以合成(p+m)乘q的乙個大矩陣。列數相同,可以在行下面加行

matlab矩陣分塊與把分塊矩陣還原

2樓:匿名使用者

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

3樓:匿名使用者

greatdju已經是正解了,不必老不結題!

如何將matlab影象矩陣分塊並將分好的塊取出??

4樓:匿名使用者

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中,怎樣把分塊矩陣的子塊作為乙個整體運算和輸出

5樓:

我覺得您的輸bai入完全du可以使用結構陣列呀zhi。

inputstruct=struct('zikuai1',[1 2],'zikuai2',[3 4])%比如這樣

function res=example(inputstruct)然後在函式體中,dao完全可以inputstruct.zikuai1,inputstruct.zikuai2呼叫版矩陣

最後權在res=inputstruct返回就可以了啊。

6樓:娜莉china小

輸入完自全可以使用結構陣列。

inputstruct=struct('zikuai1',[1 2],'zikuai2',[3 4])%比如

bai這樣

function res=example(inputstruct)然後在du函式體zhi中,完全可以inputstruct.zikuai1,inputstruct.zikuai2呼叫dao矩陣

最後在res=inputstruct返回就可以了。

7樓:賴思蔚

inputstruct=struct('zikuai1',[1 2],'zikuai2',[3 4])%比如這樣

請教高手指點,matlab怎麼編寫把含字母的分塊矩陣還原為矩陣的**?例子見下圖。

8樓:匿名使用者

分別定義完矩陣abcd以後,再用矩陣定義

e=[a,b;c,d]

matlab如何從乙個矩陣中找到可逆的分塊矩陣

9樓:匿名使用者

%假設來

你原有的矩陣是存在變自量 in 中

a=nchoosek(1:20,16);%產生20各種取16個的組合,會有4845種,返回乙個4845x16的矩陣

num=size(a,1);%num=4845

choose=true(num,1);

for ii=1:num

temp=in(a(ii,:),:);%取第ii行的組合,形成temp方陣

d=det(temp);%計算行列式

if d==0 %如果計入計算截斷誤差,可以用條件abs(d)

choose(ii)=false; %標記行列式為0的組合

endend

chooseout=a(choose,:);%chooseout是nx16的矩陣,n為符合條件的矩陣個數

%可用out=in(chooseout(n,:),:),獲得第n個符合條件的矩陣

10樓:匿名使用者

設m為20x16的矩陣。若存在mp1*m=e,則mp1必為16x20的矩陣。

若存在m*mp2=e,則mp2必為16x20的矩陣。其中e為單位陣。

matlab實現如下版:

a=magic(5);

a(:,4:5)=%刪除最後2列得到權5x3的矩陣ap=pinv(b)%得到乙個3x5的逆矩陣ap*a%使得ap*a=e

b=magic(5);

b(4:5,:)=%刪除最後2行得到3x5的矩陣bpt=pinv(b');

bp=bpt' %得到乙個5x3的逆矩陣b*bp %使得b*bp=e或者補全矩陣為方陣,補全的向量需要與構成矩陣的向量線性無關a=magic(5);

a(:,4:5)=%刪除最後2列得到5x3的矩陣as=[ a [0 0 0 1 0]' [0 0 0 0 1]'];%補全為方陣

asp=inv(as);%得到乙個5x5的逆矩陣asp*a%使得asp*a的結果為上面為3x3單位陣,下面為2x3零矩陣的5x3矩陣

11樓:匿名使用者

一步步計算16*16行列式的值就好了,如果符合可逆,就輸出啊

matlab中怎麼把乙個256*256的矩陣分塊成8*8的矩陣,再對塊矩陣進行迴圈處理

12樓:典素潔巨集斯

有很多來中建立方法啊:m=

zeros(256);%建立源0矩陣,但輸入預設二維矩陣,等於zeros(256,256),下同m=

ones(256);

%建立全1矩陣

m=eyes(256);%建立單位矩陣

m=rand(256);%建立[0,1]隨機矩陣,m=magic(256)%建立等等

13樓:匿名使用者

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對矩陣進行分塊,再對分塊後的每一小塊矩陣進行求和,成為乙個新的矩陣?

14樓:

matlab中,只要兩個矩陣的size是一致的,那麼它們就可以用加法加起來。

即使你的大矩陣是有多個塊組成的。求和也是對應的塊進行求和。

matlab矩陣分塊與把分塊矩陣還原

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 greatdju已經是正解了,不必老不結題!matlab怎樣將矩陣分塊與...

matlab中怎麼將矩陣作為另矩陣的元素放進去

1 首先開啟電腦上的 matlab 軟體,主介面如下圖所示,可以看到命令列視窗。2 接著在命令列輸入乙個矩陣a,矩陣a的值可以自定義,此處以1 9數字為例構造矩陣a,矩陣a如下圖所示。3 拼接矩陣需要至少兩個矩陣,在命令列輸入乙個矩陣b,此處以10 18數字為例構造矩陣b。4 下面使用命令c a b...

matlab中怎麼把256 256的矩陣分塊成8 8的矩

有很多來中建立方法啊 m zeros 256 建立源0矩陣,但輸入預設二維矩陣,等於zeros 256,256 下同m ones 256 建立全1矩陣 m eyes 256 建立單位矩陣 m rand 256 建立 0,1 隨機矩陣,m magic 256 建立等等 k 1 for i 1 32 f...