Afficher commentaires plus anciens
create a 99x99 matrix with ones on both diagonals and zeros everywhere otherwise
Réponses (4)
Image Analyst
le 15 Oct 2021
Another way, even more compact:
A = eye(99) | fliplr(eye(99))
As long as it's not your homework you can use my code.
1 commentaire
Chetan Bhavsar
le 15 Oct 2021
great wayorring flip i liked it
n = 9; %99
A = eye(n);
A(n:n-1:n*n-1) = 1; % anti-diagonal
A
Image Analyst
le 15 Oct 2021
As long as it's not your homework you can use my code:
A = min(1, eye(99) + fliplr(eye(99)))
% For time comparison:
n = 1000;
timeit(@() bidiag1(n))
timeit(@() bidiag2(n))
timeit(@() bidiag3(n))
function bidiag1(n)
a = eye(n);
a(n:n-1:n*n-1) = 1;
end
function bidiag2(n)
a = eye(n) | fliplr(eye(n));
end
function bidiag3(n)
a = min(1, eye(n) + fliplr(eye(n)));
end
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!