Changing the boundary rows and columns.

I'm having a bit of a problem finding a solution to this most likely due to the answer being relatively simple. I have a matrix of all ones. Let's say,
[1,1,1,1; 1,1,1,1; 1,1,1,1] What I need to do is relatively simple. I need to change the values of the first and last columns and rows to zero such that the matrix would be.
[0,0,0,0; 0,1,1,0; 0,0,0,0]
Is there a way to tell matlab to give a value of zero to every number within a given column or row?

 Accepted Answer

A = [1,1,1,1; 1,1,1,1; 1,1,1,1];
A([1,end],:) = 0; % Changes the first and last row.
A(:,[1,end]) = 0; % Changes the first and last column.

1 Comment

Thanks. I figured such an operation would be relatively simple unfortunately being too simple means few ever think to comment on it.

Sign in to comment.

More Answers (1)

m=[1,1,1,1; 1,1,1,1; 1,1,1,1];
m(:,1)=0; %all lines, first column
m(1,:)=0; %all columns, first line
m(:,size(m,2))=0; %all lines, last column
m(size(m,1),:)=0; %all columns, last line

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!