亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? masstoy.c

?? 貝葉斯算法:盲分離技術
?? C
字號:
//=============================================================================
//               BAYESYS3/MASSINF  BEGINNER PROGRAM  toy.c
//
// If BayeSys operation (bayestoy), link
//    bayestoy.c = {main,UserMonitor} , userstr.h                        *USER*
//       |
//      bayesys3.[ch] --- {random.[ch], hilbert.[ch]}                  *SYSTEM*
//         |
//        bayesapp.c = {UserEmpty,UserInsert1,UserInsert2,
//                      UserDelete1,UserTry1,UserTry2}                   *USER*
//                      with dummy UserFoot
//
//
// If MassInf operation (masstoy or poisstoy), link
//    masstoy.c = {main,UserMonitor} , userstr.h                         *USER*
//       |
//      bayesys3.[ch] --- random.[ch], hilbert.[ch]                    *SYSTEM*
//         |
//        massapp.c = {UserFoot}                                         *USER*
//                    with dummy UserEmpty,UserInsert1,UserInsert2,
//                               UserDelete1,UserTry1,UserTry2
//
// Programs bayestoy.c, masstoy.c, poisstoy differ only in the MASSINF setting.
//=============================================================================
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "bayesys3.h"
#include "userstr.h"

#define MASSINF   1    // -ve is BayeSys,  >= 0 is MassInf

int main()
{
// Simulation data are {SUM(f), SUM(x.f)}, so that
// Data[0]  =  zeroth moment over x  =  flux
// Data[1]  =  first  moment over x  =  flux * mean location
    int Ndata = 2;
    double Data[2] = {40.0, 12.0}; // flux = 40.0,   location = 12/40 = 0.3
    double Acc [2] = { 1.0,  1.0}; // noise is plus or minus 1/1.0

    int Ncell = 4;                 // collect results with 4-cell resolution

// Addressing
    int           ENSEMBLE = 10;         //  >= 1
    ObjectStr     Objects   [10];        // [ENSEMBLE]
    CommonStr     Common[1];
    UserCommonStr UserCommon[1];
    double        Mockbar[2];            // [Ndata]
    double        PrPos[4];              // [Ncell]
    double        Objbar[4];             // [Ncell]
    double        Objdev[4];             // [Ncell]
    double        Z;
    int           k;
    int           code;

// Initialise BayeSys
    Common->MinAtoms    = 1;          // >= 1
    Common->MaxAtoms    = 0;          // >= MinAtoms, or 0 = infinity
    Common->Alpha       = -1.0;       // +ve for Poisson, -ve for geometric
    Common->ENSEMBLE    = ENSEMBLE;   // # objects in ensemble
    Common->Method      = -1;         // Algorithm method
    Common->Rate        = 0.1;        // Speed of calculation (dimensionless)
    Common->Iseed       = 4321;       // Random seed, -ve is time seed
#if MASSINF < 0                       // BayeSys...
    Common->Ndim        = 2;          // dimension = # coordinates
    Common->Valency     = 0;          // # MassInf fluxes per atom
    for( k = 0; k < ENSEMBLE; k++ )   // UserBuild uses mock data
        Objects[k].Mock = (double*)malloc(Ndata * sizeof(double));
#else                                 // MassInf...
    Common->Ndim        = 1;          // dimension = # coordinates
    Common->Valency     = 1;          // # MassInf fluxes per atom
    Common->MassInf     = MASSINF;    // 0=monkeys,1=pos,2=posneg,3=gauss,
                                      // Add 100 for Poisson data
    Common->ProbON      = 1.0;        // Prob(individual flux != 0)
    Common->FluxUnit0   = 10.0;       // +ve assigned, 0 auto, -ve flexible
#endif
// Initialise Likelihood
    Common->Ndata    = Ndata;         // # data
    Common->Data     = Data;          // data                         [Ndata]
    Common->Acc      = Acc;           // accuracies = 1/sigma         [Ndata]
// Initialise statistics
    Common->UserCommon  = (void*)UserCommon;
    UserCommon->Ncell   = Ncell;      // # cells
    UserCommon->Mockbar = Mockbar;    // <mock data>                  [Ndata]
    UserCommon->PrPos   = PrPos;      // Pr(cell occupied>            [Ncell]
    UserCommon->Objbar  = Objbar;     // <intensity per cell>         [Ncell]
    UserCommon->Objdev  = Objdev;     // std.dev. intensity per cell  [Ncell]
    UserCommon->Nsample = 0;
    UserCommon->atoms   = 0.0;
    for( k = 0; k < Ndata; k++ )
        Mockbar[k] = 0.0;
    for( k = 0; k < Ncell; k++ )
        Objbar[k] = Objdev[k] = PrPos[k] = 0.0;

// Compute ...................................................................
    code = BayeSys3(Common, Objects);
    printf("\nBayeSys3 return code %d\n", code);
// ................................................................... compute

// Normalise all desired statistics
    Z = Common->ENSEMBLE * UserCommon->Nsample;
    UserCommon->atoms /= Z;                                     // <# atoms>
    for( k = 0; k < Ndata; k++ )
        Mockbar[k] /= Z;                                        // <mock data>
    for( k = 0; k < Ncell; k++ )
    {
        PrPos[k] = 0.01*(double)(int)(0.5 + 100.0*PrPos[k]/Z);  // Pr(positive)
        Objbar[k] /= Z;                                         // <intensity>
        Objdev[k] /= Z;
        Objdev[k] -= Objbar[k] * Objbar[k];
        Objdev[k]  = (Objdev[k] > 0.0) ? sqrt(Objdev[k]) : 0.0; // std.dev.
    }

// Display results
    printf("    Random seed was   %d\n"  , Common->Iseed);
    printf("    Success / CPU = %g / %g = %6.4f\n",
                    Common->Success, Common->CPU,
                    Common->Success / Common->CPU);
    printf("    # ENSEMBLE samples was %d\n"  ,  UserCommon->Nsample);
    printf("    < Atoms >   =%10.2f\n",          UserCommon->atoms);
    printf("    Evidence    =%10.2f (log[e])\n", Common->Evidence);
    printf("    Information =%10.2f (log[e])\n", Common->Information);

    printf("\n  Cell    Total +- StdDev    Pr(+)%%\n");
    for( k = 0; k < Ncell; ++k )
        printf("%5d %9.2f %9.2f %7.0f\n", k,Objbar[k],Objdev[k],100.*PrPos[k]);
    printf("\n   Data    <Mock>\n");
    for( k = 0; k < Ndata; ++k )
        printf("%8.2f %8.2f\n", Data[k], Mockbar[k]);
    return 0;
}

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Function:  UserMonitor
//
// Purpose:   I have provided a new ensemble of objects.
//
//        1.  For probabilistic exploration, restrict Common->cool to <= 1.
//                    cool = 0 is prior, seen at the first call.
//                0 < cool < 1 is "burn-in"
//                    cool = 1 is evolve posterior,
//                    cool -> infinity is maximum likelihood
//            Return with a POSITIVE return code to exit BayeSys,
//            usually after the end of an evolution stage with cool = 1.
//            You can use Common->Nsystem, which counts calls to UserMonitor.
//
//        2.  You should reset any nuisance parameters x in UserCommon and/or
//            each of your UserObject structures, preferably by sampling from
//            their conditonal probabilities Pr(x|Objects) and/or Pr(x|Object).
//
//        3.  Collect your statistics and display your diagnostics. 
//-----------------------------------------------------------------------------
//
int UserMonitor(            //   O  0 = continue, +ve = finish, -ve = abort
      CommonStr* Common,    // I    Full general information
      ObjectStr* Objects)   // I    Full ensemble of sample objects  [ENSEMBLE]
{
// control
    int     Nrem;    // # to go, as (2 * Nsample++) catches up with Nsystem++
// desired statistics
    int     Ndata   = Common->Ndata;
    UserCommonStr* UserCommon = (UserCommonStr*)Common->UserCommon;
    int     Ncell   = UserCommon->Ncell;
    double* Mockbar = UserCommon->Mockbar; // < mock data >             [Ndata]
    double* PrPos   = UserCommon->PrPos;   // Pr(cell occupied)         [Ncell]
    double* Objbar  = UserCommon->Objbar;  // < intensity per cell >    [Ncell]
    double* Objdev  = UserCommon->Objdev;  // std.dev.intensity per cell[Ncell]
// local
    ObjectStr* Object;         // individual object
    double*    Cube;           // individual atom coordinates in cube
    double     z;              // gives individual atom flux
    double     flux;           // cell-based flux from Cube[1]
    int        cell;           // cell number from Cube[0]
    int        k;              // object counter
    int        r;              // atom counter
    int        j;              // general counter

//.............................................................................
// Re-set any user parameters in UserCommon or UserObject (none in this code).
// You will not need to reset the loglikelihoods.

//.............................................................................
// USER IMPOSES FINAL TEMPERATURE AND TERMINATION CONDITION !
    if( Common->cool >= 1.0 )
        Common->cool = 1.0;

    Nrem = Common->Nsystem - 2 * UserCommon->Nsample;  // or any other setting

// Always print a line of diagnostics (cool, Nrem, logLikelihood[0])
    fprintf(stderr,                     // (stderr flushes output immediately)
      "%10.6f %5d %14.4f\r", Common->cool, Nrem, Objects[0].Lhood);
//.............................................................................
// Set any NUISANCE PARAMETERS you may have here
// Could over-ride system's choices of FluxUnit (both Common and Objects) here
// Could CALIBRATE data here (corrupting Evidence and Information)
//.............................................................................
// BURN-IN
    if( Common->cool < 1.0 )  // final temperature not reached..
        return 0;             // ...normal return, keep going
//.............................................................................
// EVOLUTION: Accumulate any desired statistics
    for( k = 0; k < Common->ENSEMBLE; k++ )
    {
        Object = &Objects[k];
  // # atoms
        UserCommon->atoms += Object->Natoms;
  // mock data
        for( j = 0; j < Ndata; j++ )
            Mockbar[j] += Object->Mock[j];
  // object calculated on Ncell cells
        for( j = 0; j < Ncell; j++ )
        {
            flux = 0.0;
            for( r = 0; r < Object->Natoms; r++ )
            {
                Cube = Object->Cubes[r];
                cell = (int)(Ncell * Cube[0]);
                if( cell == j )
                {
                     z = Cube[1];
                     if( Common->Valency )
                         flux += z;                // pure MassInf operation
                     else
                         flux += -10.0 * log(z);   // direct BayeSys, q=10
                }
            }
            if( flux > 0.0 )
                PrPos[j]  += 1.0;                  // sum(occupied)
            Objbar[j] += flux;                     // sum intensity
            Objdev[j] += flux * flux;              // sum intensity squared
        }
    }
  // # samples of full ensemble
    UserCommon->Nsample ++;

    if( Nrem > 0 )                                 // not finished...
        return 0;                                  // ..normal return
//.............................................................................
// EXIT WITH POSITIVE FINISH CODE WHEN EVOLUTION IS DEEMED COMPLETE
    return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美经典一区二区| 欧美日韩亚洲另类| 欧美成人女星排名| 亚洲与欧洲av电影| 91在线视频在线| 国产精品看片你懂得| 丁香婷婷综合五月| 日韩视频免费直播| 蜜桃91丨九色丨蝌蚪91桃色| 777午夜精品免费视频| 亚洲v日本v欧美v久久精品| 日本韩国一区二区三区| 亚洲免费在线播放| 91日韩一区二区三区| 亚洲欧美日韩国产成人精品影院| 国产1区2区3区精品美女| 久久久国产午夜精品| 国产原创一区二区三区| 久久精品视频一区| 成人精品免费看| 亚洲国产精品成人综合| 成人精品视频一区二区三区| 欧美国产精品中文字幕| 成人动漫一区二区在线| 亚洲欧美自拍偷拍色图| 日本道免费精品一区二区三区| 一色屋精品亚洲香蕉网站| 国产精品综合一区二区| 欧美国产一区二区| 91久久精品日日躁夜夜躁欧美| 一区二区三区国产豹纹内裤在线| 欧美在线视频日韩| 日韩黄色免费网站| 精品久久久久久久久久久久久久久久久 | 欧美日韩mp4| 日本色综合中文字幕| 精品粉嫩超白一线天av| 国产99久久久国产精品| 久久久综合网站| 成人午夜av电影| 亚洲精品中文在线观看| 3d成人h动漫网站入口| 国产主播一区二区三区| 亚洲色图视频免费播放| 欧美一区二区视频免费观看| 国产一区福利在线| 亚洲美女淫视频| 91麻豆精品国产91久久久久久久久| 美脚の诱脚舐め脚责91 | 欧美一区二区成人6969| 国产激情91久久精品导航| 亚洲摸摸操操av| 日韩免费视频一区二区| 成人av综合一区| 午夜精品久久久久久久99樱桃| 精品99久久久久久| 91黄色在线观看| 国产高清久久久久| 亚洲超碰97人人做人人爱| 久久久综合精品| 91小宝寻花一区二区三区| 性久久久久久久久久久久| 久久久久99精品国产片| 欧美少妇bbb| 奇米色一区二区三区四区| 国产精品乱码一区二三区小蝌蚪| 欧美色大人视频| 丁香桃色午夜亚洲一区二区三区| 亚洲狼人国产精品| 国产清纯在线一区二区www| 7777精品久久久大香线蕉| 粉嫩高潮美女一区二区三区| 天天做天天摸天天爽国产一区| 国产亚洲婷婷免费| 欧美午夜精品久久久| 白白色 亚洲乱淫| 狠狠色丁香婷综合久久| 日韩精品欧美精品| 亚洲一区在线播放| 国产精品美女久久久久久久久久久| 日韩一级二级三级| 国产福利91精品| 日韩欧美中文字幕公布| 欧美唯美清纯偷拍| 91国偷自产一区二区开放时间| 国产剧情一区二区| 韩国中文字幕2020精品| 秋霞电影网一区二区| 一区二区三区在线观看国产 | 97久久人人超碰| 国产成人a级片| 国产精品一二三| 国产精品一区二区三区乱码| 免费高清不卡av| 日韩黄色在线观看| 午夜电影一区二区三区| 亚洲国产va精品久久久不卡综合| 综合网在线视频| 国产精品久久三| 国产精品久久久久久久久图文区| 国产亚洲一区二区在线观看| 91麻豆精品国产自产在线观看一区| 欧美优质美女网站| 91福利小视频| 欧美日韩中字一区| 欧美精品1区2区| 91精品国产一区二区三区| 欧美日韩国产美女| 日韩一卡二卡三卡四卡| 精品毛片乱码1区2区3区| www久久精品| 一区二区三区国产精品| 亚洲男人的天堂在线aⅴ视频| 午夜精品久久久久| 国产ts人妖一区二区| 欧美中文字幕一区| 久久久精品国产免大香伊| 一区二区三区四区不卡视频| 久久成人麻豆午夜电影| 99久久国产免费看| 欧美一区二区福利视频| 国产精品高潮呻吟| 久久se这里有精品| 91国产丝袜在线播放| 久久亚洲一区二区三区四区| 亚洲乱码国产乱码精品精98午夜| 久久精品国产精品亚洲精品| 91一区在线观看| 久久蜜桃av一区二区天堂| 五月综合激情婷婷六月色窝| 不卡的电影网站| 精品人在线二区三区| 午夜精品一区二区三区三上悠亚| 粉嫩蜜臀av国产精品网站| 日韩三级伦理片妻子的秘密按摩| 亚洲桃色在线一区| 国产精品亚洲午夜一区二区三区| 欧美撒尿777hd撒尿| 日韩毛片在线免费观看| 国产精品一区二区你懂的| 日韩一级大片在线| 亚洲成在人线在线播放| 色综合一个色综合亚洲| 亚洲精品伦理在线| 国模一区二区三区白浆| 91精品免费在线| 亚洲精品国产品国语在线app| 狠狠网亚洲精品| 欧美一区二区三级| 无吗不卡中文字幕| 欧美综合欧美视频| 亚洲欧美另类图片小说| 成人免费视频国产在线观看| www国产成人| 老司机精品视频一区二区三区| 欧美日韩一区二区三区视频| 亚洲乱码国产乱码精品精小说| 懂色中文一区二区在线播放| 久久婷婷国产综合国色天香| 久久草av在线| 欧美大片在线观看一区| 日本午夜一区二区| 欧美日韩www| 日韩精品欧美成人高清一区二区| 在线一区二区三区四区五区| 亚洲精品国产第一综合99久久| 91婷婷韩国欧美一区二区| 国产精品国产三级国产aⅴ原创 | 国内成+人亚洲+欧美+综合在线 | 麻豆一区二区三| 欧美一级二级三级乱码| 日本亚洲三级在线| 欧美成人精品1314www| 美国三级日本三级久久99| 日韩欧美国产精品一区| 美女一区二区三区| 欧美精品一区二区高清在线观看| 另类的小说在线视频另类成人小视频在线| 在线观看91精品国产麻豆| 免费在线观看一区| 久久综合久久综合亚洲| 成人精品一区二区三区中文字幕| 中文字幕一区二区三区乱码在线| 99精品久久只有精品| 玉米视频成人免费看| 欧美日本国产视频| 极品少妇一区二区| 中文字幕在线一区免费| 日本久久精品电影| 男人的天堂久久精品| 国产亚洲精品精华液| 99国产精品国产精品毛片| 亚洲成a人片在线不卡一二三区| 欧美福利电影网| 国产福利视频一区二区三区| 中文字幕一区在线| 欧美一区二区在线观看| 国产乱对白刺激视频不卡| 亚洲激情图片qvod| 欧美成人精品高清在线播放 |