matlab 如何去掉矩陣中的全0行

2021-12-20 11:38:28 字數 1951 閱讀 7775

1樓:小小小小顰

具體操作步驟如下:

1、首先,來了解下以下兩個函式,可以使用這兩個函式來進行刪除所有零行或全部列的操作。如下圖所示,然後進入下一步。

2、其次,建立一個a  = [1,2,4; 0,0,0; 1,3,5;  [0,0,0]矩陣,可以看到此矩陣中有兩行是全0行,如下圖所示,然後進入下一步。

3、接著,鍵入all(a  == 0,2),這將返回一個列向量,並且可以檢測所有零行的位置,因為使用了a =  0,所以返回的是0表示非零元素,返回1表示所有零行,如下圖所示,然後進入下一步。

5、最後,按enter確認,可以看到矩陣的兩行全0行就被刪除了,如下圖所示。這樣,問題就解決了。

2樓:小執著

1、第一步刪除全零行之前,首先要了解一下all函式和any函式的用法,可以通過這兩個函式來刪除全零行或者列,介紹如下圖所示:

2、第二步在matlab命令列視窗中新建一個a=[1,2,4;0,0,0;1,3,5;0,0,0]矩陣,可以看到這個矩陣中有兩行為全零行,下面來刪除這兩行,如下圖所示:

3、第三步刪除全零行,主要通過all(a==0, 2),這返回的是一個列向量,可以檢測到全零行的位置,因為使用了a=0,返回的為0代表是非零元素,返回的為1代表是全零行,如下圖所示:

4、第四步使用a(all(a==0,2),:)=**來刪除全零行,如下圖所示:

5、第五步按回車鍵之後,可以看到已經刪除了a矩陣的2行全零行,如下圖所示:

6、第六步需要注意的是,如果直接使用a(all(a,2),:)=來刪除,刪除的是非零行,留下的是全零行,如下圖所示:

3樓:匿名使用者

a=[1 2 3;0 0 0;2 1 6];

a(all(a==0,2),:)=

____________________

如果是3維矩陣那就必須是某個面(整個2維矩陣)全部都是0,如果單一行是0,這個面的其他元素不為0,怎麼能去掉呢,因為一刪就是刪一個面啊。

4樓:

樓上的辦法適用於去掉指定的某一行(列),當矩陣較大,不能一一列舉全零行(列)時用這個辦法比較簡單

a=[1 2 3;0 0 0;2 1 6];

a(find(sum(abs(a),1)==0),:)=;

如果要除去全零列就用下面這個

a(:,find(sum(abs(a),1)==0))=;

5樓:清風or朗月

輸入a(2,:)=

就可以了,直接去掉

去掉的也可以不是全0行,只要是你指定的,你都可以通過此方法去掉特定的行!

matlab中想將某個矩陣中,全部為零的一行刪除,怎麼程式設計

6樓:匿名使用者

clcclear

a=rand(100,100);

a(15,:)=zeros(1,100);

a(20,:)=zeros(1,100);

a1=sum(abs(a'));

index=find(a1==0);

a(index,:)=;

其實非常簡單,設a是這個矩陣,用sum求每一行的絕對值的和,如果為零說明這行全為零,找到那些行,從矩陣中去除即可

**中隨機生成了100*100的矩陣,其中15和20行設為全零,執行後可得到去除全零行的結果~

matlab中,怎樣把矩陣中的0元素刪除

7樓:匿名使用者

假設a是輸入矩陣,a(a==0) = ;這種寫法比用find效率更高

8樓:匿名使用者

>> a=fix(10*rand(1,10)+5); %隨機生成一個1x10的向量

>> a(1:2:10)=0; %令奇數位都為0

>> a(find(a==0))=;%找到a中0的位置,並令其為空,即刪除

matlab矩陣如何去掉引號,MATLAB字串輸出時如何去除單引號

使用disp輸出cell陣列,如果其元素為字串型別,本來就是要帶引號的。如果不想要引號,可以考慮使用迴圈配合fprintf進行輸出。matlab 字串輸出時如何去除單引號 1 先給定一個字串 zfc linux快速入門教程 矽片 1 矽片 2 先用區域性替換的方法 去掉字串裡面的雙引號 import...

matlab中如何給矩陣中的某幾個特定位置賦值

用sub2ind a zeros 5 i 2 3 4 j 1 4 2 a sub2ind size a i,j 1 a 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 注意事項 matlab書寫表示式的規則與 手寫算式 差不多相同。如果一個指令過長...

matlab中如何分別畫矩陣中的每列元素的影象

1 首先需要來知道求一個矩陣不同元素自個數,需要用到baiunique函式,du在命令列視窗中輸入 zhihelp unique 可以看到unique函式用法dao。2 輸入a 1 3 3 5 6 7 8 8 3 5 6 9 按回車鍵之後,建立一個3行4列的矩陣。3 輸入unique a 求a矩陣不...