爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: mofangbao

[源代码] 气象常用程序包-相当给力!

  [复制链接]

新浪微博达人勋

发表于 2012-4-4 21:01:02 | 显示全部楼层
果断分享了啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-6 14:20:11 | 显示全部楼层
好东西  分享学习
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-6 15:44:32 | 显示全部楼层
第三章 多元统计分析里有一小节3.4.2.2多级判别的Fisher准则概念 我想把这个算法转化成C++实现,但是不是气象专业,高数 统计等基础知识也放下很久了 有没有人可以帮我分析一下这段Fortran代码啊 主要是算完D阵的特征值和特征向量之后

ALLOCATE(AA(NP))
        ALLOCATE(X2(NP))
        ALLOCATE(X22(NP))
        NP1=0
        DO I=1,NP
          AA1=1
          DO J=I,NP
            AA(J)=AA1/(1+DT(J))
            AA1=AA(J)
          END DO
          X2(I)=-(N-1-0.5*(M+G))*LOG(AA(I))
          N0=(M+1-I)*(G-I)        !检验的自由度
          ALF=0.05   !检验的置信度
          H=-0.005         !检验时的积分步长
          NN=(1.-ALF)/ABS(H)
          CALL EULER1(H,NN,N0,X22(I))  !哑元依次为积分步长、积分步数、自由度及χ2值
          IF(X2(I)>X22(I))THEN
            NP1=I
          ELSE
            GOTO 30
          END IF
        END DO
30        CONTINUE
        WRITE(12,'("NP1=",I2)')NP1
        WRITE(12,'(5X," χ2检验 ")')
        WRITE(12,'("X2=",<NP1>F8.4)')(X2(I),I=1,NP1)
        WRITE(12,'("X22="<NP1>F8.4)')(X22(I),I=1,NP1)
!   经判别,有NP1个判别函数显著
!        计算每一样品与各组判别函数重心的距离
        ALLOCATE(DS(N,G,NP1))
        DO L=1,NP1
          DO I=1,N
            DO J=1,G
              DO K=1,M
                XX1(K)=X(I,K)-XV(K,J)
              END DO
                  XX2=0
                  XX3=0
                  DO K=1,M
                    XX2=XX2+XX1(K)*V(K,L)
                    XX3=XX3+V(K,L)*XX1(K)
              END DO
                  DS(I,J,L)=XX2*XX3
            END DO
          END DO
        END DO
        ALLOCATE(KGJ(N,NP1))
        DO L=1,NP1
          DO I=1,N
            DMIN=1.0E+30
            DO J=1,G
              IF(DS(I,J,L)<DMIN)THEN
                    DMIN=DS(I,J,L)
                    KGJ(I,L)=J
                  ENDIF
            END DO
          END DO
    END DO
        WRITE(12,'(4X,"样品与判别函数重心的距离")')
        DO L=1,NP1
            DO J=1,G
            WRITE(12,'(" 组别=",I2,<N>F6.3)')J,(DS(I,J,L),I=1,N)
          END DO
          WRITE(12,'("最后分组",<N>I6)')(KGJ(I,L),I=1,N)
        END DO
        DEALLOCATE(AA)
        DEALLOCATE(X2)
        DEALLOCATE(X22)
        DEALLOCATE(DS)
        DEALLOCATE(KGJ)
        END
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-6 15:52:43 | 显示全部楼层
还有程序里的 F函数 欧拉函数 还有GAMMA函数最好也能解释一下啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-7 08:54:47 | 显示全部楼层
好东西,顶一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-7 10:29:17 | 显示全部楼层
果断分享了啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-8 09:18:00 | 显示全部楼层
我是刚刚注册的心用户,在此发现好多很好的资料,非常感谢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-8 09:34:35 | 显示全部楼层
怎么不能购买,总是提示要登录啊!可是我是已经登录了啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-8 10:16:57 | 显示全部楼层
正好需要使用谱分析,谢谢分享~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-9 08:14:58 | 显示全部楼层
给力,谢谢楼主
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表