Como atribuir valores na diagonal?
Suponha que eu tenha uma matriz NxN A, um vetor de índice V que consiste em um subconjunto dos números 1: N e um valor K, e eu quero fazer isso:
for i = V
A(i,i) = K
end
Existe uma maneira de fazer isso em uma declaração com vetorização?
por exemplo. UMA(alguma coisa) = K
A declaraçãoA(V,V) = K
não funcionará, ele atribui elementos fora da diagonal e não é isso que eu quero. por exemplo.:
>> A = zeros(5);
>> V = [1 3 4];
>> A(V,V) = 1
A =
1 0 1 1 0
0 0 0 0 0
1 0 1 1 0
1 0 1 1 0
0 0 0 0 0