symmetrische Matrix erstellen, for-schleife funktioniert nicht
Verfasst: So Dez 23, 2018 6:38 pm
Liebe Leute,
ich würde gerne eine symmetrische matrix erstellen und habe mit der oberen rechten seite angefangen.
k=matrix(nrow=5,ncol=5)
k=matrix(data=NA,nrow=5,ncol=5)
p=0.8
for (i in 1:5) {k[i,i]=0.25}
for (i in 1:4) {k[i,i+1]=0.25*p}
for (i in 1:3) {k[i,i+2]=0.25*p^2}
for (i in 1:2) {k[i,i+3]=0.25*p^3}
for (i in 1:1) {k[i,i+4]=0.25*p^4}
Das passt.
#Nun würde ich gerne obiges durch eine Schleife darstellen, da die Matrix später größer sein muss, und ich nicht alles per Hand einzeln eingeben kann, und zwar mit
for (j in 0:4){for (i in 1:5-j) {k[i,i+j]=0.25*p^j}}
aber das funktioniert nicht, da unter der Diagonale und ich habe keine ahnung, warum es nicht funktioniert. Kann mir bitte bitte jemand helfen?
Viele Grüße!
ich würde gerne eine symmetrische matrix erstellen und habe mit der oberen rechten seite angefangen.
k=matrix(nrow=5,ncol=5)
k=matrix(data=NA,nrow=5,ncol=5)
p=0.8
for (i in 1:5) {k[i,i]=0.25}
for (i in 1:4) {k[i,i+1]=0.25*p}
for (i in 1:3) {k[i,i+2]=0.25*p^2}
for (i in 1:2) {k[i,i+3]=0.25*p^3}
for (i in 1:1) {k[i,i+4]=0.25*p^4}
Das passt.
#Nun würde ich gerne obiges durch eine Schleife darstellen, da die Matrix später größer sein muss, und ich nicht alles per Hand einzeln eingeben kann, und zwar mit
for (j in 0:4){for (i in 1:5-j) {k[i,i+j]=0.25*p^j}}
aber das funktioniert nicht, da unter der Diagonale und ich habe keine ahnung, warum es nicht funktioniert. Kann mir bitte bitte jemand helfen?
Viele Grüße!