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

時間 2022-12-29 16:15:34

1樓:速秀梅紀乙

設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=[a1]']補全為方陣。

asp=inv(as);%得到乙個5x5的逆矩陣。

asp*a%使得asp*a的結果為上面為3x3單位陣,下面為2x3零矩陣的5x3矩陣。

2樓:井芷昳

%假設你原有的矩陣是存百在變數。in中。

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

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

forii=1:num

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

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

ifd==0

%如果計入計算截斷誤差,可以用道條件abs(d)choose(ii)=false;

%標記行列式為0的組合。

endend

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

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

3樓:盈奕聲屈鳥

這個確實沒有太多的難度,每次取兩個矩陣的一行就行了。

具體程式如下:

clear all

close all

a = 1 2 3;4 5 6;7 8 9]b = 2 3 4;5 6 7;8 9 10][m,n]=size(a);

for i = 1:m

c = a(i,:)b(i,:)

end結果為:

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

4樓:匿名使用者

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

5樓:匿名使用者

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

matlab中怎麼取乙個矩陣的一部分

6樓:灩麗

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個到最後乙個資料,根據需要獲取矩陣資料即可。

7樓:ieio啊

比如說有乙個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數。

8樓: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])這樣的形式。

9樓:奔三不再二

matlab 矩陣。

元素與子矩陣的提取。

>> 矩陣元素的提取。

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

a =1 2 3

>> 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

>> r,c]=find(a>=20&a<=60);

>> b=find(a>=20&a<=60);

>> disp('符合條件的矩陣元素的行號和列號:')r,c]

符合條件的矩陣元素的行號和列號:

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

10樓:匿名使用者

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裡面怎麼對乙個矩陣求其模逆矩陣?

11樓:網友

步驟如下:

先輸入原始矩陣例如:

a1:b212

34然後選擇乙個2x2的區域(例如。

a4:b5),直接輸入:

=minverse(a1:b2)

接著按ctrl+shift別鬆手,再按回車鍵。

逆矩陣:設a是數域上的乙個n階方陣,若在相同數域上存在另乙個n階矩陣b,使得:

ab=ba=i。

則我們稱b是a的逆矩陣,而a則被稱為可逆矩陣。

12樓:匿名使用者

直接求逆是不現實的,或者是不可實現的。需要用到一些數值計算方法來求逆矩陣。比如lms那些。

13樓:匿名使用者

設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矩陣。

14樓:匿名使用者

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

matlab計算,matlab如何計算乙個函式的值

階乘 factorial n 組合 c combntns 1 n,m c的行數就是組合數。matlab如何計算乙個函式的值 如何利用matlab求相關係數?1 第一步我們bai首先需要du知道matlab中求相關係數用到的是corrcoef函式,zhi在命令列視窗中dao輸入 help corrco...

如何判斷矩陣是否可對角化,如何判斷乙個矩陣是否可對角化

如果所有特徵根都不相等,絕對可以對角化,有等根,只需要等根 也就是重特徵值 對應的那幾個特徵向量是線性無關的,那麼也可以對角化,如果不是,那麼就不能了。矩陣於電路學 力學 光學和量子物理中都有應用 電腦科學中,三維動畫製作也需要用到矩陣。矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合...

如何從弱者成為強者,如何從乙個弱者成為乙個強者

如果強者被乙個弱者打敗,那麼人努力使自己變強還有什麼意義?弱者沒有資格贏 只有靠自己努力努力再努力!每個強者曾經都是弱者,要怎麼樣才能成為乙個強者?不管遇到什麼事,請不讓別人看到你的簿弱!冷靜思考,不要老是用哭解決!那不那樣會讓你丟了一切。之所以要變成強人,這樣就不會再受別人的欺負 懂得保護好自己....

如何從小白走向優秀的ui設計師,如何從乙個小白走向優秀的ui設計師

第一ui設計需要美感。ui設計最終要呈現乙個介面效果,美感是第一位,視覺上第一感覺都沒有俘獲使用者的心,讓使用者沒有了慾望,更何談使用者的感受 體驗 便捷 持久呢?因此一定要培養ui設計師的美感。這就要練習設計一些手繪能力 色彩能力,設計師可以在平時收集一些素材,整理一些素材,欣賞一些素材。第二要關...

如何看人說話,如何從乙個人的說話的音量,看出這個人的修養?

人人都會說話,除非你是啞巴。與人說話是有許多講究的,除了說話的語氣 語調 語速外,還有說話的心境 表情 情緒等等,這要視具體情況,因形而變,靈活機動,因人而異。如果歸結為一句話,那就是要 看 人說話。我們與人說話的目的無非有這麼幾種 或者交流思想,溝通感情 或者加深了解,發展關係 或者託人辦事,有求...