Deleting Row and Column

I am doing a project with matrices. I want to change the size of the matrix by deleting the last 2 rows and the last 2 column. I want to go from 0.01 to 0.15 in steps of 0.01. When I display Q1 I am able to delete the last 2 columns but the the last 2 rows and then when I try to delete the rows (disp Q2) it deleted the rows but not the columns. I want BOTH the last two ROW AND last two COLUMN to be deleted from the Matrix P. Any help is appreciated!!!!
P = [0.1 0.75 0 0 0.15 0; 0 0.1 0.8 0 0.10 0; 0 0 0.15 0.75 0.1 0; 0 0 0 0.1 0.1 0.8; 0 0 0 0 1 0; 0 0 0 0 0 1];
disp(P)
for v = 0.01:0.01:0.15
P(1,1) = v + P(1,1);
%disp(P)
Q1 = ([:,1 2 3 4]);
disp(Q1)
Q2 = P([1 2 3 4],:);
%Q2 = P(:, [5 6]);
disp(P)
end

回答(2 个)

If A is your matrix, you can remove last two rows and columns using:
[m,n] = size(A) ;
A(m-1:m,:) = [] ; % removes last two rows
A(:,n-1:n) = [] ; % removes last two columns

2 个评论

when I try this method i am getting an error saying "Index in position 1 is invalid. Array indices must be positive integers or logical values." it prints out the first matrix correctly and then runs into that error.
Show us the code which you have tried.

请先登录,再进行评论。

Q = P(1:end-2,1:end-2);

3 个评论

This worked! Thank you. One final question, if i wanted to just get the last two colums of the matrix without the last 2 rows, how would I go about doing that?
from what i understand P(1:end-2,1:end-2) is for the subtracting the last two rows and colums starting from column 1 and row 1. So if i wanted to get the last 2 columns without the last 2 rows. I tried the same concept with removing the last 2 rows but extracting the last 2 columns and it is just giving me a vector of 1's. But i would want
0.1500 0
0.1000 0
0.1000 0
0.1000 0.8000
(1.0000 0) ->minus this row
(0 1.0000) -> minus this row
I figured it out! thanks for the help

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by