How to iterate diagonal with alternating values?
Afficher commentaires plus anciens
Hi everyone! I have a question about iterating diagonally across a matrix I create. Here is the code I have so far. I am a beginner at Matlab, so I am trying to do this with a for loop, but getting stuck! If anyone can please help me do this it would be greatly appreciated! I am trying to get the values in green to be set to the value of e_p, thank you so much !!!

N1=2;
N2=4;
nband=1;
n=(N1*N2)*2*nband;
e=1;
e_p=2;
e_pp=3;
t=4;
tp=5;
HM = zeros(n);
for ii=2:n
HM(ii,ii) = e;
end
Réponses (1)
Matt J
le 2 Jan 2022
One way,
d=ones(1,n);
d(1)=0;
d([2:4:end, 3:4:end])=e_p;
HM=diag(d);
2 commentaires
Karen Smith
le 2 Jan 2022
Matt J
le 2 Jan 2022
HM = zeros(n);
for ii=1:n
HM(ii,ii) = d(ii);
end
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!