Added updateGlobalVariables123
This commit is contained in:
parent
de929ad887
commit
1dca4b290e
2 changed files with 64 additions and 111 deletions
111
R/indMix.R
111
R/indMix.R
|
|
@ -565,25 +565,6 @@ indMix <- function(c, npops, dispText) {
|
||||||
list(logml = logml, npops = npops, partitionSummary = partitionSummary)
|
list(logml = logml, npops = npops, partitionSummary = partitionSummary)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
# logml = logmlBest;
|
|
||||||
# npops = npopsBest;
|
|
||||||
# PARTITION = partitionBest;
|
|
||||||
# COUNTS = countsBest;
|
|
||||||
# SUMCOUNTS = sumCountsBest;
|
|
||||||
# POP_LOGML = pop_logmlBest;
|
|
||||||
# LOGDIFF = logdiffbest;
|
|
||||||
|
|
||||||
# %--------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# function clearGlobalVars
|
|
||||||
|
|
||||||
# global COUNTS; COUNTS = [];
|
|
||||||
# global SUMCOUNTS; SUMCOUNTS = [];
|
|
||||||
# global PARTITION; PARTITION = [];
|
|
||||||
# global POP_LOGML; POP_LOGML = [];
|
|
||||||
# global LOGDIFF; LOGDIFF = [];
|
|
||||||
|
|
||||||
# %--------------------------------------------------------------------------
|
# %--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -695,98 +676,6 @@ indMix <- function(c, npops, dispText) {
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
|
|
||||||
# %------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
# %-------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
# function updateGlobalVariables(ind, i2, diffInCounts, ...
|
|
||||||
# adjprior, priorTerm)
|
|
||||||
# % Suorittaa globaalien muuttujien muutokset, kun yksil<69> ind
|
|
||||||
# % on siirret<65><74>n koriin i2.
|
|
||||||
|
|
||||||
# global PARTITION;
|
|
||||||
# global COUNTS;
|
|
||||||
# global SUMCOUNTS;
|
|
||||||
# global POP_LOGML;
|
|
||||||
# global LOGDIFF;
|
|
||||||
|
|
||||||
# i1 = PARTITION(ind);
|
|
||||||
# PARTITION(ind)=i2;
|
|
||||||
|
|
||||||
# COUNTS(:,:,i1) = COUNTS(:,:,i1) - diffInCounts;
|
|
||||||
# COUNTS(:,:,i2) = COUNTS(:,:,i2) + diffInCounts;
|
|
||||||
# SUMCOUNTS(i1,:) = SUMCOUNTS(i1,:) - sum(diffInCounts);
|
|
||||||
# SUMCOUNTS(i2,:) = SUMCOUNTS(i2,:) + sum(diffInCounts);
|
|
||||||
|
|
||||||
# POP_LOGML([i1 i2]) = computePopulationLogml([i1 i2], adjprior, priorTerm);
|
|
||||||
|
|
||||||
# LOGDIFF(:,[i1 i2]) = -Inf;
|
|
||||||
# inx = [find(PARTITION==i1); find(PARTITION==i2)];
|
|
||||||
# LOGDIFF(inx,:) = -Inf;
|
|
||||||
|
|
||||||
|
|
||||||
# %--------------------------------------------------------------------------
|
|
||||||
# %--
|
|
||||||
|
|
||||||
|
|
||||||
# function updateGlobalVariables2( ...
|
|
||||||
# i1, i2, diffInCounts, adjprior, priorTerm);
|
|
||||||
# % Suorittaa globaalien muuttujien muutokset, kun kaikki
|
|
||||||
# % korissa i1 olevat yksil<69>t siirret<65><74>n koriin i2.
|
|
||||||
|
|
||||||
# global PARTITION;
|
|
||||||
# global COUNTS;
|
|
||||||
# global SUMCOUNTS;
|
|
||||||
# global POP_LOGML;
|
|
||||||
# global LOGDIFF;
|
|
||||||
|
|
||||||
# inds = find(PARTITION==i1);
|
|
||||||
# PARTITION(inds) = i2;
|
|
||||||
|
|
||||||
# COUNTS(:,:,i1) = COUNTS(:,:,i1) - diffInCounts;
|
|
||||||
# COUNTS(:,:,i2) = COUNTS(:,:,i2) + diffInCounts;
|
|
||||||
# SUMCOUNTS(i1,:) = SUMCOUNTS(i1,:) - sum(diffInCounts);
|
|
||||||
# SUMCOUNTS(i2,:) = SUMCOUNTS(i2,:) + sum(diffInCounts);
|
|
||||||
|
|
||||||
# POP_LOGML(i1) = 0;
|
|
||||||
# POP_LOGML(i2) = computePopulationLogml(i2, adjprior, priorTerm);
|
|
||||||
|
|
||||||
# LOGDIFF(:,[i1 i2]) = -Inf;
|
|
||||||
# inx = [find(PARTITION==i1); find(PARTITION==i2)];
|
|
||||||
# LOGDIFF(inx,:) = -Inf;
|
|
||||||
|
|
||||||
# %------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
# function updateGlobalVariables3(muuttuvat, diffInCounts, ...
|
|
||||||
# adjprior, priorTerm, i2);
|
|
||||||
# % Suorittaa globaalien muuttujien p<>ivitykset, kun yksil<69>t 'muuttuvat'
|
|
||||||
# % siirret<65><74>n koriin i2. Ennen siirtoa yksil<69>iden on kuuluttava samaan
|
|
||||||
# % koriin.
|
|
||||||
|
|
||||||
# global PARTITION;
|
|
||||||
# global COUNTS;
|
|
||||||
# global SUMCOUNTS;
|
|
||||||
# global POP_LOGML;
|
|
||||||
# global LOGDIFF;
|
|
||||||
|
|
||||||
# i1 = PARTITION(muuttuvat(1));
|
|
||||||
# PARTITION(muuttuvat) = i2;
|
|
||||||
|
|
||||||
# COUNTS(:,:,i1) = COUNTS(:,:,i1) - diffInCounts;
|
|
||||||
# COUNTS(:,:,i2) = COUNTS(:,:,i2) + diffInCounts;
|
|
||||||
# SUMCOUNTS(i1,:) = SUMCOUNTS(i1,:) - sum(diffInCounts);
|
|
||||||
# SUMCOUNTS(i2,:) = SUMCOUNTS(i2,:) + sum(diffInCounts);
|
|
||||||
|
|
||||||
# POP_LOGML([i1 i2]) = computePopulationLogml([i1 i2], adjprior, priorTerm);
|
|
||||||
|
|
||||||
# LOGDIFF(:,[i1 i2]) = -Inf;
|
|
||||||
# inx = [find(PARTITION==i1); find(PARTITION==i2)];
|
|
||||||
# LOGDIFF(inx,:) = -Inf;
|
|
||||||
|
|
||||||
|
|
||||||
# %----------------------------------------------------------------------------
|
# %----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
64
R/updateGlobalVariables.R
Normal file
64
R/updateGlobalVariables.R
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
updateGlobalVariables <- function(ind, i2, diffInCounts, adjprior, priorTerm) {
|
||||||
|
# % Suorittaa globaalien muuttujien muutokset, kun yksil<69> ind
|
||||||
|
# % on siirret<65><74>n koriin i2.
|
||||||
|
|
||||||
|
i1 <- PARTITION(ind)
|
||||||
|
PARTITION(ind) <<- i2
|
||||||
|
|
||||||
|
COUNTS[, , i1] <<- COUNTS[, , i1] - diffInCounts
|
||||||
|
COUNTS[, , i2] <<- COUNTS[, , i2] + diffInCounts
|
||||||
|
SUMCOUNTS[i1, ] <<- SUMCOUNTS[i1, ] - sum[diffInCounts]
|
||||||
|
SUMCOUNTS[i2, ] <<- SUMCOUNTS[i2, ] + sum[diffInCounts]
|
||||||
|
|
||||||
|
POP_LOGML[c(i1, i2)] <<- computePopulationLogml(
|
||||||
|
c(i1, i2), adjprior, priorTerm
|
||||||
|
)
|
||||||
|
|
||||||
|
LOGDIFF[, c(i1, i2)] <<- -Inf
|
||||||
|
inx <- c(find(PARTITION == i1), find(PARTITION==i2))
|
||||||
|
LOGDIFF[inx, ] <<- -Inf
|
||||||
|
}
|
||||||
|
|
||||||
|
updateGlobalVariables2 <- function(i1, i2, diffInCounts, adjprior, priorTerm) {
|
||||||
|
# % Suorittaa globaalien muuttujien muutokset, kun kaikki
|
||||||
|
# % korissa i1 olevat yksil<69>t siirret<65><74>n koriin i2.
|
||||||
|
|
||||||
|
inds <- find(PARTITION == i1)
|
||||||
|
PARTITION(inds) <<- i2
|
||||||
|
|
||||||
|
COUNTS[, , i1] <<- COUNTS[, , i1] - diffInCounts
|
||||||
|
COUNTS[, , i2] <<- COUNTS[, , i2] + diffInCounts
|
||||||
|
SUMCOUNTS[i1, ] <<- SUMCOUNTS[i1, ] - sum[diffInCounts]
|
||||||
|
SUMCOUNTS[i2, ] <<- SUMCOUNTS[i2, ] + sum[diffInCounts]
|
||||||
|
|
||||||
|
POP_LOGML[i1] <- 0
|
||||||
|
POP_LOGML[i2] <- computePopulationLogml(i2, adjprior, priorTerm)
|
||||||
|
|
||||||
|
LOGDIFF[, c(i1, i2)] <- -Inf
|
||||||
|
inx <- c(find(PARTITION == i1), find(PARTITION == i2))
|
||||||
|
LOGDIFF[inx, ] <- -Inf
|
||||||
|
}
|
||||||
|
|
||||||
|
updateGlobalVariables3 <- function(
|
||||||
|
muuttuvat, diffInCounts, adjprior, priorTerm, i2
|
||||||
|
) {
|
||||||
|
# % Suorittaa globaalien muuttujien p<>ivitykset, kun yksil<69>t 'muuttuvat'
|
||||||
|
# % siirret<65><74>n koriin i2. Ennen siirtoa yksil<69>iden on kuuluttava samaan
|
||||||
|
# % koriin.
|
||||||
|
|
||||||
|
i1 <- PARTITION[muuttuvat(1)]
|
||||||
|
PARTITION[muuttuvat] <<- i2
|
||||||
|
|
||||||
|
COUNTS[, , i1] <<- COUNTS[, , i1] - diffInCounts
|
||||||
|
COUNTS[, , i2] <<- COUNTS[, , i2] + diffInCounts
|
||||||
|
SUMCOUNTS[i1, ] <<- SUMCOUNTS[i1, ] - sum[diffInCounts]
|
||||||
|
SUMCOUNTS[i2, ] <<- SUMCOUNTS[i2, ] + sum[diffInCounts]
|
||||||
|
|
||||||
|
POP_LOGML[c(i1, i2)] <<- computePopulationLogml(
|
||||||
|
c(i1, i2), adjprior, priorTerm
|
||||||
|
)
|
||||||
|
|
||||||
|
LOGDIFF[, c(i1, i2)] <<- -Inf
|
||||||
|
inx <- c(find(PARTITION == i1), find(PARTITION == i2))
|
||||||
|
LOGDIFF[inx, ] <<- -Inf
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue