私はある場所に1
のベクトルを持っており、そのベクトルを使って対角を作りたいと思っています。ベクターone_vec_two
の最初の要素は1である`spdiags`がベクトルを正しい場所に置かないのはなぜですか?
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)
:ベクターをone_vec_two
呼ばれる
>> one_vec_two(1)
ans =
1
そして、Iは3
ある対角線n-1
から始まるベクトルを、置きました。しかし、私は列4に行くとき、私はそれを見ることはありません。
>> fullA(1,4)
ans =
0
はなぜMATLABが正しい場所に私のベクトルを入れていませんか?
ありがとうございます – Sother