Как ускорить код в VB Statistica

  • Автор темы doves
  • Дата начала
D

doves

Буду признателен за подсказку, как можно ускорить работу вот этого кода. Я его использую в пакете Statistica для анализа частоты встречаемости определенных значений переменной. Код работал адекватно, когда размер массива был 3^5*5, но когда он увеличился до 13^5*5, время обработки выросло примерно до 3х секунд на 1 ячейку таблицы. Подскажите, как можно ускорить процесс

For b = -15 To 50 'для каждого значения переменной b
v = v+1
For LOOP_CASE = 1 To 177 'на каждой из 177 строк массива Matrix
For LOOP_VAR = 1 To 13^5*5 'подсчитать частоту встречаемости b в 13:5*5 (т.е. 1856465) столбцах массива Matrix
If Matrix(LOOP_CASE, LOOP_VAR) = b Then k=k+1
Next LOOP_VAR
ADS.Value (LOOP_CASE, v) = k 'поместить полученное значение k в таблицу Statistica
k=0
Next LOOP_CASE
Next b
v=0
 

Domino-Designer

Людям надо поморгать!
Lotus Team
06.12.2011
617
223
BIT
26
Я прочел задачу как: "Посчитать количество вхождений температуры от -15 до 50 в каждой строке матрици Matrix"

Код:
Dim b(1 to 177,-15 to 50) As Long

For LOOP_CASE = 1 To 177 '
For LOOP_VAR = 1 To 13^5*5 '
If Matrix(LOOP_CASE, LOOP_VAR) >= LBound(b,2) and  Matrix(LOOP_CASE, LOOP_VAR) <= UBound(b,2) Then b(LOOP_CASE,Matrix(LOOP_CASE, LOOP_VAR)) = b(LOOP_CASE, Matrix(LOOP_CASE, LOOP_VAR))+1
Next LOOP_VAR
Next LOOP_CASE

в b ваш тезультат.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!