how to delete certain columns and rows from matrix

1 visualización (últimos 30 días)
Antrea Plastira
Antrea Plastira el 5 de Oct. de 2022
Comentada: William Rose el 5 de Oct. de 2022
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?

Respuesta aceptada

William Rose
William Rose el 5 de Oct. de 2022
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.

Más respuestas (2)

Steven Lord
Steven Lord el 5 de Oct. de 2022
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 el 5 de Oct. de 2022
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.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by