Alcuni errori nel codice che hai pubblicato (es. hai dichiarato A_vecchio, ma poi usi a_vecchio, nella funzione plot usi il vettore "valore_anogli" invece di "valore_angoli") fanno pensare che quello che hai pubblicato non sia il codice che stai effettivamente usando.
La domanda fondamentale continua a non essere chiara: scrivi che vuoi fare una copia del vettore "alpha_vet" per cambiarne, in seguito un valore, ma nel codice che hai pubblicato il nuovo vettore non viene modificato.
Quello che viene modificato è i vettore "valori_angoli"; il problema è che lo modifichi con l'istruzione
valore_angoli(P_index)=theta_vero
ma non ne fai una copia.
Quando crei i grafici:
plot(valore_angoli,a_vecchio); hold on
plot(valore_anogli,a_nuovo);
hai che:
[*] i vettori "a_vecchio" e "a_nuovo sono uguali perchè sono uno la copia dell'altro e non hai modificato "a_nuovo"
[*] il vettore "valore_angoli" è stato sì modificato, ma è usato per tutti e due i grafici
per cui i due grafici coincidono essendo uguali tutti i dati.
Se è effettivamente il vettore "valore_angoli" che vuoi modificare ed in base al quale vuoi vedere le differenze nei grafici, è di quello che devi fare una copia prima di modificarlo e, poi, usare quello originale nel primo grafico e quello modificato nel secondo grafico.