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?

 採用された回答

Matt Fig
Matt Fig 2011 年 4 月 27 日

0 投票

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 件のコメント

Jonathon
Jonathon 2011 年 4 月 27 日
Thanks. I figured such an operation would be relatively simple unfortunately being too simple means few ever think to comment on it.

サインインしてコメントする。

その他の回答 (1 件)

Paulo Silva
Paulo Silva 2011 年 4 月 27 日

0 投票

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

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by