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 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记