how to delete certain columns and rows from matrix

조회 수: 1 (최근 30일)
Antrea Plastira
Antrea Plastira 2022년 10월 5일
댓글: William Rose 2022년 10월 5일
I have the matrix
M = [1000 -1000 0 0;
-1000 10000 0 -9000;
0 0 5000 -5000;
0 -9000 -5000 14000];
and I want to get the matrix when the 1st column and row and the 3rd column and row are gone, so that Mnew = [10000 -9000;
-9000 14000];
Any help?

채택된 답변

William Rose
William Rose 2022년 10월 5일
M = [1000 -1000 0 0;
-1000 10000 0 -9000;
0 0 5000 -5000;
0 -9000 -5000 14000];
Mnew=M([2,4],[2,4])
Mnew = 2×2
10000 -9000 -9000 14000
The line above keeps specifies the rows and columns to keep.

추가 답변 (2개)

Steven Lord
Steven Lord 2022년 10월 5일
Do you know which rows/columns you want to delete or which ones you want to keep? If to keep:
M = magic(4)
M = 4×4
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
toKeep = [2 4];
A = M(toKeep, toKeep)
A = 2×2
11 8 14 1
If to delete:
M = magic(4)
M = 4×4
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
toDelete = [1 3];
M(toDelete, :) = []
M = 2×4
5 11 10 8 4 14 15 1
M(:, toDelete) = []
M = 2×2
11 8 14 1

William Rose
William Rose 2022년 10월 5일
If you want to sepcify the rows and columns to delete:
M = [1000 -1000 0 0;
-1000 10000 0 -9000;
0 0 5000 -5000;
0 -9000 -5000 14000];
Mnew=M;
rows2delete=[1,3];
cols2delete=rows2delete;
Mnew(rows2delete,:)=[];
Mnew(:,cols2delete)=[]
Mnew = 2×2
10000 -9000 -9000 14000
Try it.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by