How to create a diagonal matrix that starts at (1,1)?

6 visualizaciones (últimos 30 días)
Renea Young
Renea Young el 21 de Nov. de 2021
Respondida: Star Strider el 21 de Nov. de 2021
Can someone help me?
How do I create a diagonal matrix of lambda, where lambda = 0.2? I would like the diagonal to start at (1,1).
Any help would be greatly appreciated.
  3 comentarios
Jan
Jan el 21 de Nov. de 2021
What is the wanted output? Which dimension should the output have?
Renea Young
Renea Young el 21 de Nov. de 2021
The output should be A = [0 0 0 0 0 ....0;0 0.200 0 0 0 .....0;0 0 0.200 0 0...0; 0 0 0 0.200 0 ....0]
The dimension is N

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 21 de Nov. de 2021
Without using repmat
n = 4;
lambda = 0.2;
A = diag([0 ones(1,n)]*lambda)
A = 5×5
0 0 0 0 0 0 0.2000 0 0 0 0 0 0.2000 0 0 0 0 0 0.2000 0 0 0 0 0 0.2000
,

Más respuestas (2)

Jan
Jan el 21 de Nov. de 2021
Maybe you mean:
n = 4;
lambda = 0.2;
A = eye(n) * lambda
A = 4×4
0.2000 0 0 0 0 0.2000 0 0 0 0 0.2000 0 0 0 0 0.2000
% Or:
A = diag(repmat(lambda, 1, n))
A = 4×4
0.2000 0 0 0 0 0.2000 0 0 0 0 0.2000 0 0 0 0 0.2000

Walter Roberson
Walter Roberson el 21 de Nov. de 2021
n = 4;
lambda = 0.2;
A = diag(repmat(lambda, 1, n), 1)
A = 5×5
0 0.2000 0 0 0 0 0 0.2000 0 0 0 0 0 0.2000 0 0 0 0 0 0.2000 0 0 0 0 0

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by