J'ai un vecteur qui a 1
dans certains endroits, et je veux créer une diagonale en utilisant le vecteur. Le vecteur est appelé one_vec_two
:Pourquoi `spdiags` ne place-t-il pas un vecteur au bon endroit?
n = 4;
one_vec_two = zeros(n*n, 1);
one_vec_two(1,1) = 1;
for k=0:(n-1)
one_vec_two(k*n+1, 1) = 1;
end
non_zero_vecs = [one_vec_two];
placement = [n-1];
A = spdiags(non_zero_vecs, placement, n*n, n*n);
fullA = full(A);
disp(A)
Le premier élément du vecteur one_vec_two
est un mélange 1:
>> one_vec_two(1)
ans =
1
Et, je mis le vecteur à partir de diagonale n-1
, qui est 3
. Mais, quand je vais à la colonne 4, je ne vois pas:
>> fullA(1,4)
ans =
0
Pourquoi ne pas mettre mon Matlab vecteur au bon endroit?
Je vois ... merci – Sother