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

questionAnswers(6)

yourAnswerToTheQuestion