Filter löschen
Filter löschen

99x99 matrix

3 Ansichten (letzte 30 Tage)
Luke chin
Luke chin am 15 Okt. 2021
Beantwortet: Chunru am 15 Okt. 2021
create a 99x99 matrix with ones on both diagonals and zeros everywhere otherwise

Antworten (4)

Image Analyst
Image Analyst am 15 Okt. 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 Kommentar
C B
C B am 15 Okt. 2021
great wayorring flip i liked it

Melden Sie sich an, um zu kommentieren.


Chunru
Chunru am 15 Okt. 2021
n = 9; %99
A = eye(n);
A(n:n-1:n*n-1) = 1; % anti-diagonal
A
A = 9×9
1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1

Image Analyst
Image Analyst am 15 Okt. 2021
As long as it's not your homework you can use my code:
A = min(1, eye(99) + fliplr(eye(99)))

Chunru
Chunru am 15 Okt. 2021
% For time comparison:
n = 1000;
timeit(@() bidiag1(n))
ans = 4.1086e-04
timeit(@() bidiag2(n))
ans = 0.0027
timeit(@() bidiag3(n))
ans = 0.0019
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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by