Make entries of first row and column of matrix all equal to zero.

조회 수: 45 (최근 30일)
Ciara McHugh
Ciara McHugh 2020년 1월 19일
편집: dpb 2020년 1월 20일
I'm trying to create an nxn matrix that has all entries in the first row and column equal to zero, and also all of the diagonal entries need to be equal to zero. The other entries are random 1's and 0's. I have so far made the diagonals equal to zero but am struggling with making the first row and column equal to zero. Below is what I have so far:
n = 10;
B = randi([0,1],n,n);
v = zeros(1,n);
B = B + diag(v-diag(B));
Thanks

답변 (2개)

Fabio Freschi
Fabio Freschi 2020년 1월 19일
% nullify first col
B(:,1) = 0;
%nullify first row
B(1,:) = 0;

dpb
dpb 2020년 1월 19일
편집: dpb 2020년 1월 20일
Modestly different approach...instead of having to clear row/column, just don't write into them to start with:
N=10; % Final array size
M(2:N,2:N)=randi([0 1],N-1); % Fill lower RH block
M(1:N+1:end)=0; % Clear diagonal

카테고리

Help CenterFile Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by