[R] Problems dealing with matrices

halim10-fes halim10-fes at sust.edu
Wed Nov 27 03:38:16 CET 2013


Hi Arun,

Thanks for your help. Sorry for my late response. Take care and stay fine.

Regards,

Halim


On Sun, 24 Nov 2013 07:45:24 -0800 (PST), arun wrote
> Hi Halim,
> I guess this works for you.  Modifying Jeff's solution:
> 
> volinp<-c(0,0.000467,0.002762,0.008621,0.020014,0.038907,0.067094)
> vol1 <- dcmat %*% (volmat +wt)
> for(idx in seq_along(volinp)[-1]){
>  vol1 <- cbind(vol1,dcmat %*% (vol1[,idx-1] + volinp[idx] *wt))
>  }
> 
> #or
> 
> vol <- matrix( NA, nrow=5, ncol=length( volinp ) )
> vol[ , 1 ] <- dcmat %*% ( volmat + wt )
> 
> for ( idx in seq_along(volinp)[ -1 ] ) {
>   vol[ , idx ] <- dcmat %*% ( vol[ , idx-1 ] + volinp[idx] * wt )
> }
> identical(vol,vol1)
> #[1] TRUE
> 
> A.K.
> 
> On Sunday, November 24, 2013 7:16 AM, halim10-fes <halim10-
> fes at sust.edu> wrote: Hi Arun,
> 
> OK, no problem. Thank you very much for your attention. I've posted 
> an annex to my previous problem. I will appreciate your 
> comments/suggestions on it.
> 
> Off-topic: You're a very helpful man. I like your attitude to 
> helping others.
> 
> Take care.
> 
> Halim
> 
> On Sun, 24 Nov 2013 01:18:18 -0800 (PST), arun wrote
> > Hi,
> > Please disregard my earlier message. Looks like Jeff understand it 
> > better and answered it. Regards, Arun
> > 
> > On Sunday, November 24, 2013 3:23 AM, arun <smartpink111 at yahoo.com> wrote:
> > Hi,
> > I am finding some inconsistency with your description.
> > For example:
> > volinp[1]+volmat[1,1]
> > [1] 101
> > 
> > On Sunday, November 24, 2013 1:52 AM, halim10-fes <halim10-
> > fes at sust.edu> wrote:
> > 
> > Please apologize me! Earlier I've sent a message erroneously. 
> > Following is the original problem for which I'm seeking help. 
> > Extremely sorry... 
> > 
> > Hi Arun,
> > 
> > Thank you very much for your response. Sorry, if I couldn't explain 
> > clearly. I think, I should restate the problem to get exactly what I 
> > want. Here it goes:
> > 
> > I have 2 matrices and 1 vector, namely,
> > 
> > dcmat<-matrix(c(0.13,0.61,0.25,0.00,0.00,0.00,0.52,0.37,0.09,0.00,
> > 0.00,0.00,                 0.58,0.30,0.11,0.00,0.00,0.00,0.46,0.22,
> > 0.00,0.00,0.00,0.00,                 0.09),nrow=5,ncol=5)
> > 
> > volmat<-matrix(c(100,0,0,0,0),nrow=5,ncol=1)
> > 
> > volinp<-c(1:40)
> > 
> > What I essentially want to do is to multiply 'dcmat' with 'volmat' 
> > and dump the output in a new matrix 'vol'. But before that, in the 
> > first step, I want to add volinp[1] with volmat[1,1]. So, the first 
> > column of the output matrix 'vol' matrix will be:
> > 
> >         [,1]
> > [1,]   13.13
> > [2,]   61.61
> > [3,]   25.25
> > [4,]    0.00
> > [5,]    0.00
> > 
> > In the 2nd step, I want to replace 'volmat' with vol[,1] and add 
> > volinp[2] with vol[1,1]. The new 'volmat' will look like:
> > 
> >         [,1]
> > [1,]   15.13
> > [2,]   61.61
> > [3,]   25.25
> > [4,]    0.00
> > [5,]    0.00
> > 
> > Then multiply 'dcmat' with the new 'volmat', and the 2nd column of 
> > output matrix 'vol' will look like:
> > 
> >         [,2]
> > [1,]  1.9669
> > [2,] 41.2665
> > [3,] 41.2232
> > [4,] 13.1199
> > [5,]  2.7775
> > 
> > Then again, replace the 'volmat' with vol[,2], add volinp[3] with 
> > vol[1,2] and multiply the new 'volmat' with 'dcmat'. This 
> > replacement, addition, multiplication, and dumping will continue up 
> > to the length of 'volinp' and the final output matrix 'vol' will be 
> > something like:
> > 
> >       [,1]    [,2]      [,3]    ...length(volinp)
> > [1,] 13.13   1.9669   0.645697  ...
> > [2,] 61.61  41.2665  24.488389  ...
> > [3,] 25.25  41.2232  40.419786  ...
> > [4,]  0.00  13.1199  22.116099  ...
> > [5,]  0.00   2.7775   7.670905  ... 
> > 
> > Within my limited capacity, I've tried to come up with a solution 
> > but failed.
> > 
> > I'll appreciate your/others' help with gratefulness.
> > 
> > Regards,
> > 
> > Halim
> > 
> > ---------------
> > Md. Abdul Halim
> > Assistant Professor
> > Department of Forestry and Environmental Science
> > Shahjalal University of Science and Technology,Sylhet-3114,
> > Bangladesh.
> > Cell: +8801714078386.
> > alt. e-mail: xou03 at yahoo.com
> > 
> > On Sat, 23 Nov 2013 14:10:12 -0800 (PST), arun wrote
> > > Hi,
> > > Could you show your expected output?  It is a bit unclear from the 
> > description.
> > > 
> > > On Saturday, November 23, 2013 2:00 PM, halim10-fes <halim10-
> > > fes at sust.edu> wrote: Dear R-friends,
> > > 
> > > Hope you doing well. I've been trying to deal with the following 
> > > problem for the couple of days but couldn't come up with a solution. 
> > > It would be great if any of you could give some insight into it.
> > > 
> > > I have three matrices like:
> > > 
> > > dcvol<-matrix(c(0.13,0.61,0.25,0.00,0.00,0.00,0.52,0.37,0.09,0.00,
> > > 0.00,0.00,                 0.58,0.30,0.11,0.00,0.00,0.00,0.46,0.22,
> > > 0.00,0.00,0.00,0.00,                 0.09),nrow=5,ncol=5) 
> > volinp<-
> > > matrix(c(100,0,0,0,0),nrow=5,ncol=1)
> > > 
> > > scvol<-matrix(c(1:40),nrow=5,ncol=8)
> > > 
> > > What I essentially want to do is to add each value in scvol[1,] with 
> > > the volinp[1,1] and then multiply each new volinp with dcvol and 
> > > finally put the outputs in a new matrix.
> > > 
> > > Thanks in advance.
> > > 
> > > Halim                
> > > ---------------
> > > Md. Abdul Halim
> > > Assistant Professor
> > > Department of Forestry and Environmental Science
> > > Shahjalal University of Science and Technology,Sylhet-3114,
> > > Bangladesh.
> > > Cell: +8801714078386.
> > > alt. e-mail: xou03 at yahoo.com
> > > 
> > > -- 
> > > This message has been scanned for viruses and
> > > dangerous content by MailScanner, and is
> > > believed to be clean.
> > > 
> > > ______________________________________________
> > > R-help at r-project.org mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> > > and provide commented, minimal, self-contained, reproducible code.
> > 
> > -- 
> > This message has been scanned for viruses and
> > dangerous content by MailScanner, and is
> > believed to be clean.
> > 
> > -- 
> > This message has been scanned for viruses and
> > dangerous content by MailScanner, and is
> > believed to be clean.
> 
> ---------------
> Md. Abdul Halim
> Assistant Professor
> Department of Forestry and Environmental Science
> Shahjalal University of Science and Technology,Sylhet-3114,
> Bangladesh.
> Cell: +8801714078386.
> alt. e-mail: xou03 at yahoo.com
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.


---------------
Md. Abdul Halim
Assistant Professor
Department of Forestry and Environmental Science
Shahjalal University of Science and Technology,Sylhet-3114,
Bangladesh.
Cell: +8801714078386.
alt. e-mail: xou03 at yahoo.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the R-help mailing list