MAフィードクラスターの検出をどのようにアルゴリズム化しているのでしょうか? - ページ 7

 
Aleksey Nikolayev:
MathQuantile() はなぜ使えないのですか?
おそらく。各バーで中央値を探す必要がある場合、順序付き配列を維持するか、この関数を使うか、どちらが速いか確認する必要があります。
 
Aleksey Nikolayev:
MathQuantile() はなぜ使えないのですか?

この関数の「確率配列」とは、どのように記入するのでしょうか?

 
インデックスバインディングで配列をソートする方法を誰か教えて欲しいです。効率的!(笑)
 
Mikhail Toptunov:
インデックスリンクで配列をソートする方法を誰か教えて欲しいです。効率的!(笑)

インデックスを配列に突っ込む。これは、配列の次元を増やすだけです。

 

Michaelさん、昔、配列に新しい値を挿入してソートを維持する関数を自分用に書いたことがあります。

つまり、配列への追加はすべてこの関数を通して行わなければならない。

//находим место для значения в отсортированном массиве и записываем его туда
void SetValueInSortArray(double &eArray[], double eValue)
   {
   //находим индекс, куда будем вставлять элемент
   int eFinish=ArrayRange(eArray,0)-1;
   int eIndex;
   if(eFinish==-1)
      {
      eIndex=0;
      }
   else if(NormalizeDouble(eArray[eFinish]-eValue,8)<0)
      {
      eIndex=eFinish+1;
      }
   else
      {
      int eLower=0;
      int eUpper=eFinish;
      eIndex=0;
      while(eLower<=eUpper)
         {
         eIndex=(eLower+eUpper)/2;
         if(NormalizeDouble(eArray[eIndex]-eValue,8)>=0)
            {
            if(eIndex>0 && NormalizeDouble(eArray[eIndex-1]-eValue,8)<0)
               {
               break;
               }
            else
               {
               eUpper=eIndex-1;
               }
            }
         if(NormalizeDouble(eArray[eIndex]-eValue,8)<0)
            {
            eLower=eIndex+1;
            }
         }
      }
   //вставка элемента в начало массива
   if(eIndex==0)
      {
      if(ArrayRange(eArray,0)==0)
         {
         ArrayResize(eArray,1);
         }
      else
         {
         ArrayCopy(eArray,eArray,1,0);
         }
      }
   //вставка элемента в конец массива
   else if(eIndex>=ArrayRange(eArray,0))
      {
      ArrayResize(eArray,eIndex+1);
      }
   //вставка элемента в середину массива
   else
      {
      ArrayCopy(eArray,eArray,eIndex,eIndex-1);
      }
   eArray[eIndex]=eValue;
   }  
バイナリサーチを 使用するため、高速であることが望ましい。
 
Mikhail Toptunov:
インデックスマッピングで配列をソートする方法を誰か教えて欲しいです。効率的!(笑)

2次元配列、ArraySort()関数

 
なーに、1つの要素のためのスペースを見つけることと、配列全体をソートすることは、まったく別の時間なのだ。
 
Aleksey Vyazmikin:

この関数の「確率配列」とは、どのように記入するのでしょうか?

数えるべき分量は何か、などです。

{0.5} - 中央値

{0.25, 0.5, 0.75} - 四分位値

{0.01, 0.02, ..., 0.99} - 過活性物質

 
Mikhail Toptunov:
インデックスにバインドして配列をソートする方法を誰か教えて欲しいです。効率的!(笑)

MathQuickSort() を試す

 
Mikhail Toptunov:

30個のMA値からなる配列で、順序付き配列の中央を 探す。

配列の真ん中にある15(L0)の 値を取得し、次にL0から下とL0から上の2つの配列を取得し、これらの配列の真ん中を求め、フォーカスの(例えば7つの値)を取得するまで繰り返す。

となってしまい、結局はカチカチになってしまうのです

答えは簡単で、数式処理は誤解を招く。