Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/06/12 17:50:17 (12 years ago)
Author:
gkronber
Message:

#1081: merged r7266:7459 from the trunk into the time series prognosis branch.

Location:
branches/HeuristicLab.TimeSeries
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TimeSeries

  • branches/HeuristicLab.TimeSeries/HeuristicLab.Analysis

  • branches/HeuristicLab.TimeSeries/HeuristicLab.Analysis/3.3/DataVisualization/DataRowVisualProperties.cs

    r7268 r7460  
    3838      Points,
    3939      Bars,
    40       Histogram
     40      Histogram,
     41      StepLine
    4142    }
    4243    #endregion
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj

    r7021 r7460  
    9999  </PropertyGroup>
    100100  <ItemGroup>
    101     <Reference Include="ALGLIB-3.1.0, Version=3.1.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    102       <HintPath>..\..\bin\ALGLIB-3.1.0.dll</HintPath>
     101    <Reference Include="ALGLIB-3.4.0, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     102      <HintPath>..\..\bin\ALGLIB-3.4.0.dll</HintPath>
    103103      <Private>False</Private>
    104104    </Reference>
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Analysis/3.3/MultidimensionalScaling/MultidimensionalScaling.cs

    r7268 r7460  
    103103    private static void StressFitness(double[] x, double[] fi, object obj) {
    104104      Info info = (obj as Info);
     105      int idx = 0;
    105106      for (int i = 0; i < info.Coordinates.Rows; i++) {
    106         double f = Stress(x, info.Dissimilarities[info.Row, i], info.Coordinates[i, 0], info.Coordinates[i, 1]);
    107         if (i < info.Row) fi[i] = f;
    108         else if (i > info.Row) fi[i - 1] = f;
     107        if (i == info.Row) continue;
     108        if (!double.IsNaN(info.Dissimilarities[info.Row, i]))
     109          fi[idx++] = Stress(x, info.Dissimilarities[info.Row, i], info.Coordinates[i, 0], info.Coordinates[i, 1]);
     110        else fi[idx++] = 0.0;
    109111      }
    110112    }
     
    114116      int idx = 0;
    115117      for (int i = 0; i < info.Coordinates.Rows; i++) {
    116         if (i != info.Row) {
    117           double c = info.Dissimilarities[info.Row, i];
    118           double a = info.Coordinates[i, 0];
    119           double b = info.Coordinates[i, 1];
    120           double f = Stress(x, c, a, b);
    121           fi[idx] = f;
     118        if (i == info.Row) continue;
     119        double c = info.Dissimilarities[info.Row, i];
     120        double a = info.Coordinates[i, 0];
     121        double b = info.Coordinates[i, 1];
     122        if (!double.IsNaN(c)) {
     123          fi[idx] = Stress(x, c, a, b); ;
    122124          jac[idx, 0] = 2 * (x[0] - a) * (Math.Sqrt((a - x[0]) * (a - x[0]) + (b - x[1]) * (b - x[1])) - c) / Math.Sqrt((a - x[0]) * (a - x[0]) + (b - x[1]) * (b - x[1]));
    123125          jac[idx, 1] = 2 * (x[1] - b) * (Math.Sqrt((a - x[0]) * (a - x[0]) + (b - x[1]) * (b - x[1])) - c) / Math.Sqrt((a - x[0]) * (a - x[0]) + (b - x[1]) * (b - x[1]));
    124           idx++;
     126        } else {
     127          fi[idx] = jac[idx, 0] = jac[idx, 1] = 0;
    125128        }
     129        idx++;
    126130      }
    127131    }
     
    153157      for (int i = 0; i < dimension - 1; i++) {
    154158        for (int j = i + 1; j < dimension; j++) {
    155           if (dissimilarities[i, j] != dissimilarities[j, i]) throw new ArgumentException("Dissimilarities is not a symmetric matrix.", "dissimilarities");
    156           if (dissimilarities[i, j] != 0) {
     159          if (dissimilarities[i, j] != dissimilarities[j, i] && !(double.IsNaN(dissimilarities[i, j]) && double.IsNaN(dissimilarities[j, i])))
     160            throw new ArgumentException("Dissimilarities is not a symmetric matrix.", "dissimilarities");
     161          if (!double.IsNaN(dissimilarities[i, j])) {
    157162            stress += Stress(coordinates[i, 0], coordinates[i, 1], dissimilarities[i, j], coordinates[j, 0], coordinates[j, 1]);
    158163            normalization += (dissimilarities[i, j] * dissimilarities[i, j]);
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Analysis/3.3/Plugin.cs.frame

    r7268 r7460  
    2828  [Plugin("HeuristicLab.Analysis", "3.3.6.$WCREV$")]
    2929  [PluginFile("HeuristicLab.Analysis-3.3.dll", PluginFileType.Assembly)]
    30   [PluginDependency("HeuristicLab.ALGLIB", "3.1")]
     30  [PluginDependency("HeuristicLab.ALGLIB", "3.4")]
    3131  [PluginDependency("HeuristicLab.Collections", "3.3")]
    3232  [PluginDependency("HeuristicLab.Common", "3.3")]
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Analysis/3.3/ValueAnalysis/MinAverageMaxValueAnalyzer.cs

    r7268 r7460  
    9494      : base(original, cloner) {
    9595      resultsCollector = cloner.Clone(original.resultsCollector);
    96       Initialize();
     96      RegisterEventHandlers();
    9797    }
    9898    public override IDeepCloneable Clone(Cloner cloner) {
     
    147147      #endregion
    148148
    149       Initialize();
     149      RegisterEventHandlers();
    150150    }
    151151
    152152    [StorableHook(HookType.AfterDeserialization)]
    153     private void Initialize() {
     153    private void AfterDeserialization() {
     154      RegisterEventHandlers();
     155    }
     156
     157    private void RegisterEventHandlers() {
    154158      ValueParameter.DepthChanged += new EventHandler(ValueParameter_DepthChanged);
    155159      CollectMinValueInResultsParameter.ValueChanged += new EventHandler(CollectMinValueInResultsParameter_ValueChanged);
Note: See TracChangeset for help on using the changeset viewer.