2 youyudefeng001 youyudefeng001 于 2016.05.07 21:25 提问

求解释程序,麻烦了!!!!

program nlsurxxx
version 12

    syntax varlist(min=12 max=12) if, at(name)
    tokenize `varlist'
    args w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp

    tempname a1 a2 a3 a4 a5 a6
    tempname b1 b2 b3 b4 b5 b6
    tempname g11 g12 g13 g14 g15 g16
    tempname g21 g22 g23 g24 g25 g26
    tempname g31 g32 g33 g34 g35 g36
    tempname g41 g42 g43 g44 g45 g46
    tempname g51 g52 g53 g54 g55 g56
    tempname g61 g62 g63 g64 g65 g66

    scalar `a1' = `at'[1,1]
    scalar `a2' = `at'[1,2]
    scalar `a3' = `at'[1,3]
    scalar `a4' = `at'[1,4]
    scalar `a5' = `at'[1,5]
    scalar `a6' = 1 - `a1' - `a2' - `a3' - `a4' - `a5'


    scalar `b1' = `at'[1,6]
    scalar `b2' = `at'[1,7]
    scalar `b3' = `at'[1,8]
    scalar `b4' = `at'[1,9]
    scalar `b5' = `at'[1,10]
    scalar `b6' = - `b1' - `b2' - `b3' - `b4' - `b5'

    scalar `g11' = `at'[1,11]
    scalar `g12' = `at'[1,12]
    scalar `g13' = `at'[1,13]
    scalar `g14' = `at'[1,14]
    scalar `g15' = `at'[1,15]
    scalar `g16' = - `g11' - `g12' - `g13' - `g14' - `g15'

    scalar `g21' = `g12'
    scalar `g22' = `at'[1,16]
    scalar `g23' = `at'[1,17]
    scalar `g24' = `at'[1,18]
    scalar `g25' = `at'[1,19]
    scalar `g26' = - `g21' - `g22' - `g23' - `g24' - `g25'

    scalar `g31' = `g13'
    scalar `g32' = `g23'
    scalar `g33' = `at'[1,20]
    scalar `g34' = `at'[1,21]
    scalar `g35' = `at'[1,22]
    scalar `g36' = - `g31' - `g32' - `g33' - `g34' - `g35'

    scalar `g41' = `g14'
    scalar `g42' = `g24'
    scalar `g43' = `g34'
    scalar `g44' = `at'[1,23]
    scalar `g45' = `at'[1,24]
    scalar `g46' = - `g41' - `g42' - `g43' - `g44' - `g45'

    scalar `g51' = `g15'
    scalar `g52' = `g25'
    scalar `g53' = `g35'
    scalar `g54' = `g45'
    scalar `g55' = `at'[1,25]
    scalar `g56' = - `g51' - `g52' - `g53' - `g54' - `g55'

    scalar `g61' = `g16'
    scalar `g62' = `g26'
    scalar `g63' = `g36'
    scalar `g64' = `g46'
    scalar `g65' = `g56'
    scalar `g66' = - `g61' - `g62' - `g63' - `g64' - `g65'      

    quietly {
            tempvar lnpindex
            gen double `lnpindex' = 5 + `a1'*`lnp1' + `a2'*`lnp2' + ///
                                        `a3'*`lnp3' + `a4'*`lnp4' + ///
                                        `a5'*`lnp5' + `a6'*`lnp6'
                forvalues i = 1/6 {
                    forvalues j = 1/6 {
                        replace `lnpindex' = `lnpindex' + 0.5*`g`i'`j''*`lnp`i''*`lnp`j''
                    }
                }

            replace `w1' = `a1' + `g11'*`lnp1' + `g12'*`lnp2' + `g13'*`lnp3' + ///
                                  `g14'*`lnp4' + `g15'*`lnp5' + `g16'*`lnp6' + ///
                                  `b1'*(`lnexp' - `lnpindex')

            replace `w2' = `a2' + `g21'*`lnp1' + `g22'*`lnp2' + `g23'*`lnp3' + ///
                                  `g24'*`lnp4' + `g25'*`lnp5' + `g26'*`lnp6' + ///
                                  `b2'*(`lnexp' - `lnpindex')

            replace `w3' = `a3' + `g31'*`lnp1' + `g32'*`lnp2' + `g33'*`lnp3' + ///
                                  `g34'*`lnp4' + `g35'*`lnp5' + `g36'*`lnp6' + ///
                                  `b3'*(`lnexp' - `lnpindex')

            replace `w4' = `a4' + `g41'*`lnp1' + `g42'*`lnp2' + `g43'*`lnp3' + ///
                                  `g44'*`lnp4' + `g45'*`lnp5' + `g46'*`lnp6' + ///
                                  `b4'*(`lnexp' - `lnpindex')

            replace `w5' = `a5' + `g51'*`lnp1' + `g52'*`lnp2' + `g53'*`lnp3' + ///
                                  `g54'*`lnp4' + `g55'*`lnp5' + `g56'*`lnp6' + ///
                                  `b5'*(`lnexp' - `lnpindex')
    }

end

4个回答

devmiao
devmiao   Ds   Rxr 2016.05.08 08:18

好像是在做循环计算

youyudefeng001
youyudefeng001 这是一个stata软件的程序,但是我不懂这个。。
一年多之前 回复
VictorJWP
VictorJWP   2016.05.08 10:55

……这是什么玩意……

havedream_one
havedream_one   2016.05.08 11:27

这是什么软件里的,功能是什么呢

youyudefeng001
youyudefeng001 stata软件,具体功能我也不知道
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.05.07 21:32

解释程序
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!