Effacer les filtres
Effacer les filtres

how to create a diagonal matrix with the semibandwidth of 4

2 vues (au cours des 30 derniers jours)
LIN Hongbin
LIN Hongbin le 2 Jan 2017
Commenté : LIN Hongbin le 3 Jan 2017
how to create a matrix like this:

Réponse acceptée

Niels
Niels le 2 Jan 2017
Modifié(e) : Niels le 2 Jan 2017
Hi Lin Hongbin
not sure if your picture contains some errors, A(3,1) looks suspicious to me...
look at this and tell me if it fits your wishes :)
a=1:10;
b=11:20;
c=21:30;
d=31:40;
n=length(a);
A=zeros(n);
% set the rest
for i=1:n % rows
A(i,i:i+3)=[a(i),b(i),c(i),d(i)];
end
>> A
A =
1 11 21 31 0 0 0 0 0 0 0 0 0
0 2 12 22 32 0 0 0 0 0 0 0 0
0 0 3 13 23 33 0 0 0 0 0 0 0
0 0 0 4 14 24 34 0 0 0 0 0 0
0 0 0 0 5 15 25 35 0 0 0 0 0
0 0 0 0 0 6 16 26 36 0 0 0 0
0 0 0 0 0 0 7 17 27 37 0 0 0
0 0 0 0 0 0 0 8 18 28 38 0 0
0 0 0 0 0 0 0 0 9 19 29 39 0
0 0 0 0 0 0 0 0 0 10 20 30 40
if u cut off the first and last column it looks more like your picture (beside A(3,1) and A(3,4) etc is not d3 ...)
B=A(1:n,2:n+2)
B =
11 21 31 0 0 0 0 0 0 0 0
2 12 22 32 0 0 0 0 0 0 0
0 3 13 23 33 0 0 0 0 0 0
0 0 4 14 24 34 0 0 0 0 0
0 0 0 5 15 25 35 0 0 0 0
0 0 0 0 6 16 26 36 0 0 0
0 0 0 0 0 7 17 27 37 0 0
0 0 0 0 0 0 8 18 28 38 0
0 0 0 0 0 0 0 9 19 29 39
0 0 0 0 0 0 0 0 10 20 30
so either matrix A or B might be the answer.
But neither A nor B are quadratic. A has size n x n+3 and B: n x n+1
  3 commentaires
LIN Hongbin
LIN Hongbin le 3 Jan 2017
Thank you Niels, you did help me solve this problem.Appreciate you a lot.
LIN Hongbin
LIN Hongbin le 3 Jan 2017
The answer in your comment is what I want.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal 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