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!
symmetrische Matrix erstellen, for-schleife funktioniert nicht
-
- Beiträge: 10
- Registriert: Mo Dez 10, 2018 4:31 pm
Re: symmetrische Matrix erstellen, for-schleife funktioniert nicht
R ist Weltmeister im Schleifen verbergen :
Code: Alles auswählen
a <- matrix(rep(NA,25), ncol=5)
p <- 0.8
a <- 0.25*p^(abs(col(a) - row(a)))
-
- Beiträge: 10
- Registriert: Mo Dez 10, 2018 4:31 pm
Re: symmetrische Matrix erstellen, for-schleife funktioniert nicht
wow, ich bin beeindruckt. Vielen vielen herzlichen Dank!