Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: st: convolution-trial/correction


From   "Andreas Aschbacher" <aa_surf@gmx.at>
To   statalist@hsphsun2.harvard.edu
Subject   RE: st: convolution-trial/correction
Date   Wed, 24 Mar 2004 14:12:42 +0100 (MET)

Dear fellows !


the following is maybe useful for someone :

clear
set obs 100
gen d =.
gen d1 =.
forvalues i = 1(1)100 {
local  j = `i' * 0.1
local f = (`j' - .1)/.1
di `j'
range x .1 `j' ` f '     
di `f'                    
gen double y=exp(-(`j'-x)^2/2)*(0.1/(x + 0.1))
integ y x,gen(Sy)
replace d  = y  if  [_n] ==`i'
replace d1 = Sy  if  [_n] ==`i'

drop Sy y x
}
gen x = [_n]
gen x1 = x*.1
line d1 x1

please tell me any improvement for best computing of convolution-integrals.

andreas to all statalisters allover the world



Thanks Nick !
> 
> clear
> set obs 100
> gen d =.
> gen d1 =.
> forvalues i = 1(1)100 {
> local  j = `i' * 0.1
> local f = (`j' - .1)/.1
> range x .1 `j' ` f '                         
> gen double y=exp(-(`j'-x)^2/2)*0.1/(x + 0.1)
> integ y x,gen(Sy)
> *replace d = y
> *replace d1 = Sy
> drop Sy y x
> }
>  
> now I am quite near to compute convolution-integrals with Stata.
> This is necessary because of comparing results with those of
> LevenbergMarquardt
> Decomposing with -denormix- was also very useful.
> andreas
> 
> 
> The syntax for -range- is accessible via -help range-. 
> > 
> > It's usually not a good idea to change the index 
> > of a loop within the loop; thus 
> > 
> > 	local j = `i' * 1 
> > 
> > You might need to -drop x- as well. 
> > 
> > Don't put [_n] to the left of an = sign. 
> > 
> > Nick 
> > n.j.cox@durham.ac.uk 
> > 
> > > -----Original Message-----
> > > From: owner-statalist@hsphsun2.harvard.edu
> > > [mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Andreas
> > > Aschbacher
> > > Sent: 24 March 2004 10:41
> > > To: statalist@hsphsun2.harvard.edu
> > > Subject: Re: st: convolution-trial/correction
> > > 
> > > 
> > > > Dear fellows !
> > > > 
> > > > /first thanks to Neil from yesterday/
> > > > 
> > > > please consider the following as "Pseudocode"
> > > > 
> > > > clear
> > > > set obs 100
> > > > gen d =.
> > > > gen d1 =.
> > > > forvalues i = 1(1)100 {
> > > > local i = `i' * 0.1     <-  0.1 *1,2,3,4,..... 
> > > *-multplikation-operator
> > > > range x .1(.1)i          <-   range until i-value           
> > >             
> > > > gen double y=exp(-(`i'-x)^2/2)*0.1/(x + 0.1)    <- y as function of
> > > > i-value
> > > > integ y x,gen(Sy)    <- integrate until i-value
> > > > *save new y- and Sy- value in two columns :
> > > > replace d[_n] = y   
> > > > replace d1[_n] = Sy
> > > > drop Sy y
> > > > }
> > > > 
> > > > please any advice that it works correctly.
> > 
> > *
> > *   For searches and help try:
> > *   http://www.stata.com/support/faqs/res/findit.html
> > *   http://www.stata.com/support/statalist/faq
> > *   http://www.ats.ucla.edu/stat/stata/
> > 
> 
> -- 
> +++ NEU bei GMX und erstmalig in Deutschland: TÜV-geprüfter Virenschutz
> +++
> 100% Virenerkennung nach Wildlist. Infos: http://www.gmx.net/virenschutz
> 
> *
> *   For searches and help try:
> *   http://www.stata.com/support/faqs/res/findit.html
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
> 

-- 
+++ NEU bei GMX und erstmalig in Deutschland: TÜV-geprüfter Virenschutz +++
100% Virenerkennung nach Wildlist. Infos: http://www.gmx.net/virenschutz

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index