youyudefeng001 2016-05-07 13:25 采纳率: 33.3%
浏览 1189

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

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

  • 写回答

3条回答 默认 最新

  • devmiao 2016-05-08 00:18
    关注

    好像是在做循环计算

    评论

报告相同问题?

悬赏问题

  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题