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

3 vues (au cours des 30 derniers jours)
CodeElinesa
CodeElinesa le 30 Jan 2018
Commenté : Walter Roberson le 30 Jan 2018
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 commentaires
Stephen23
Stephen23 le 30 Jan 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 le 30 Jan 2018
Modifié(e) : Stephen23 le 30 Jan 2018
@CodeElinesa: it helps us if you post comments as comments, not answers.

Connectez-vous pour commenter.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 30 Jan 2018
Modifié(e) : Andrei Bobrov le 30 Jan 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)');

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by