Dear all,
I am trying to construct 25x31 different matrices of 2x2 dimension. Here
is the problem:
we have the following matrix
matrix(c(54+s0,
43+s1, 56-s0, 67-s1), nrow=2, ncol=2, byrow=T)
the values for s0 and s1 are c(0:24) and c(0:31), respectively.
I wrote the following code without the desired results
x<-0:24
y<-0:30
results<-array(matrix(0,nrow=2,ncol=2,byrow=T),dim=c(2,2,25*31))
for(i in 1:25){
for(j in 1:31){
for(k in
1:25*31){
results[,,k]<-array(matrix(c(54+x[i], 43+y[j], 56-x[i],
67-y[j]),nrow=2,ncol=2,byrow=T),dim=c(2,2,25*31))
}
}
}
results
I am trying to figure out what I am missing.
Thank you very much in advance for the help!
Loukia Maria
[[alternative HTML version deleted]]
On 26-09-2012, at 09:59, Loukia Spineli <spineliloukia26 at gmail.com> wrote:> Dear all, > > I am trying to construct 25x31 different matrices of 2x2 dimension. Here > is the problem: > > we have the following matrix > matrix(c(54+s0, > 43+s1, 56-s0, 67-s1), nrow=2, ncol=2, byrow=T) > > the values for s0 and s1 are c(0:24) and c(0:31), respectively. > > I wrote the following code without the desired results > > x<-0:24 > y<-0:30 > > results<-array(matrix(0,nrow=2,ncol=2,byrow=T),dim=c(2,2,25*31)) > for(i in 1:25){ > for(j in 1:31){ > for(k in > 1:25*31){ > > results[,,k]<-array(matrix(c(54+x[i], 43+y[j], 56-x[i], > 67-y[j]),nrow=2,ncol=2,byrow=T),dim=c(2,2,25*31)) > } > } > } > results > > I am trying to figure out what I am missing.You don't need the third loop for( k in ? With for loops you can do this x<-0:3 y<-0:5 mat.start <- matrix(c(54, 43, 56, 67), nrow=2, ncol=2, byrow=T) mat.start Nx <- length(x) Ny <- length(y) results<-array(matrix(0,nrow=2,ncol=2,byrow=T),dim=c(2,2,Nx*Ny)) k <- 1 for(i in 1:Nx){ for(j in 1:Ny){ results[,,k] <- mat.start + matrix(c(x[i], y[j], -x[i],-y[j]),nrow=2,ncol=2,byrow=T) k <- k+1 } } results Berend