99x99 matrix
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
create a 99x99 matrix with ones on both diagonals and zeros everywhere otherwise
0 comentarios
Respuestas (4)
Image Analyst
el 15 de Oct. de 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 comentario
Chunru
el 15 de Oct. de 2021
n = 9; %99
A = eye(n);
A(n:n-1:n*n-1) = 1; % anti-diagonal
A
0 comentarios
Image Analyst
el 15 de Oct. de 2021
As long as it's not your homework you can use my code:
A = min(1, eye(99) + fliplr(eye(99)))
0 comentarios
Chunru
el 15 de Oct. de 2021
% 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
0 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!