How to create a special diagonal matrix with 2 vectors together?

2 visualizaciones (últimos 30 días)
my problem is those vectors are given,but you have to put them like image shown below I dont know how to change the dimension of B so that it can fit into the matrix A = linspace(1,6,6) B = linspace(11,16,6) P.S the question asked us to use diag...
  4 comentarios
Stephen23
Stephen23 el 30 de En. de 2018
CodeElinesa's "Answer" moved here:
Also, I want to know the way to use loop. So you could deal with both scalar and vector example for a and b...
Stephen23
Stephen23 el 30 de En. de 2018
Editada: Stephen23 el 30 de En. de 2018
@CodeElinesa: it helps us if you post comments as comments, not answers.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 30 de En. de 2018
hint 1:
diag(b(1:end-1), -1)
hint 2: you can add matrices together.
  5 comentarios
CodeElinesa
CodeElinesa el 30 de En. de 2018
wait, its ok, I found the way. Thank you XD

Iniciar sesión para comentar.

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 30 de En. de 2018
Editada: Andrei Bobrov el 30 de En. de 2018
full(gallery('tridiag',B(2:end),A,B(1:end-1)));
or
n = numel(A);
out = full(spdiags([B(:),A(:),B(:)],-1:1,n,n)');

Categorías

Más información sobre Creating and Concatenating Matrices 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!

Translated by