Azzera filtri
Azzera filtri

How to iterate diagonal with alternating values?

3 visualizzazioni (ultimi 30 giorni)
Karen Smith
Karen Smith il 2 Gen 2022
Commentato: Matt J il 2 Gen 2022
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

Risposte (1)

Matt J
Matt J il 2 Gen 2022
One way,
d=ones(1,n);
d(1)=0;
d([2:4:end, 3:4:end])=e_p;
HM=diag(d);
  2 Commenti
Karen Smith
Karen Smith il 2 Gen 2022
Hi! Thank you, is it possible to do this with a for loop? I have other for loops in my code that won't run with this line in it
Matt J
Matt J il 2 Gen 2022
HM = zeros(n);
for ii=1:n
HM(ii,ii) = d(ii);
end

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by