Могу ли я получить доступ к математическим функциям Excel из сценария flex action через внедрение vbscript? - PullRequest
1 голос
/ 25 мая 2009

Мы собираемся отобразить некоторые математические данные в диаграмме Flex GUI. Нам нужно сделать заговор для двух массивов данных следующим образом.

взаимная корреляция обоих автокорреляция каждого и коэффициент корреляции

Похоже, что Flex изначально не поддерживает научную формулу, такую ​​как взаимная корреляция, автокорреляция и коэффициент взаимосвязи. Пожалуйста, исправьте меня, если я ошибаюсь или есть разумные альтернативы на данный момент.

При поиске альтернатив я наткнулся на статью на actionscript.org [--не разрешено -]

и в настоящее время я пытаюсь выяснить, могу ли я вызвать формулы Excel из ActionScript. Похоже, что при передаче данных между flex и vbscript может возникнуть некоторая сложность. Это будет правильный подход?

Это для POC, и поэтому мы ищем только быстрый взлом.

Ответы [ 3 ]

1 голос
/ 28 августа 2009

Это, наверное, слишком поздно, но, ну ... мне стало скучно:)

private function correlationCoeff(X:Array, Y:Array):Number { //correlation coeff between two random variables X and Y is defined as : //correlation(X,Y) = Covar(X,Y)/(sqrt(Var(X)) * sqrt(Var(Y))) // //Var(X) = Covar(X,X); //Covar(X,Y) = E((X-xm)(Y-ym)); where xm, ym are the population means. return sampleCovar(X, Y)/Math.sqrt(sampleCovar(X, X) * sampleCovar(Y, Y)); }</p> <p>private function sampleCovar(X:Array, Y:Array):Number { //Sample covariance is Sum((X-xm)(Y-ym))/n-1 //where n is the sample size and xm & ym are sample means. //I'll assume that X and Y are the same size... var total:Number = 0; var xm:Number = sampleMean(X); var ym:Number = (X == Y)? xm : sampleMean(Y); for (var i:int=0; i <p>private function sampleMean(X:Array):Number { //Sample mean = Sum(X)/(sample size) var total:Number = 0; for each(var x:Number in X) total += x; return total/X.length; }

Я скорее предположил, что вы работаете с дискретными случайными переменными, а не делаете что-то напуганное с обработкой сигналов. Имейте в виду, что sampleCovar не будет возвращать то же самое, что и COVAR в Excel, потому что Excel использует смещенную оценку (т.е. она делит на n, а не (n-1)), но это компенсируется при вычислении коэффициента корреляции. *

0 голосов
/ 12 августа 2009

Используя ActionScript, вы можете написать свою собственную версию COREL для выполнения вычислений. Это будет намного проще, чем пытаться общаться с Excel. Конечно, нет прямой связи с Excel из приложения Flex.

0 голосов
/ 25 мая 2009

Я никогда не использовал VBScript, но я знаю, что вы можете получить доступ к JavaScript из AS3 и наоборот, используя класс ExternalInterface в AS3. И, насколько я знаю, вы также можете получить доступ к функциям VB, встроенным в веб-страницы из JavaScript. Таким образом, не должно быть слишком сложно вызывать функции VB из Flash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...