Стандартное отклонение для массива с плавающей точкой JuliaLang - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь запустить std (list), где list - массив Float, но я получаю следующую ошибку:

"MethodError: объекты типа Array {Float64,1} не могут быть вызваны. Использовать квадратскобки [] для индексации массива. "

И при использовании []:

" ArgumentError: неверный индекс: 0,4 "

Что является первым значением моего массива.

Я предполагаю, что "std ()" недопустим при использовании аргументов с плавающей запятой, в любом случае, чтобы заставить его работать ??

(сейчас я использую juliabox 0.6.2)

1 Ответ

0 голосов
/ 15 октября 2018

Это сработало для меня в JuliaBox 0.6.2:

VERSION
v"0.6.2"

A = [1 2 3 4 5]
1×5 Array{Int64,2}:
 1  2  3  4  5

s = std(A)
1.5811388300841898

Как отметил Hckr в комментариях, вы можете затенять std что-то вроде этого:

std = [1 2 3 4 5]
1×5 Array{Int64,2}:
 1  2  3  4  5

std(std)
MethodError: objects of type Array{Int64,2} are not callable
Use square brackets [] for indexing an Array.

Как отметил Богумил Каминьски в комментариях, в Julia 1.0.0 вам нужно сделать using Statistics, чтобы получить доступ к функции std:

VERSION
v"1.0.0"

A = [1 2 3 4 5]
1×5 Array{Int64,2}:
 1  2  3  4  5

# Error here because using Statistics is needed in 1.0.0.
std(A)
UndefVarError: std not defined
Stacktrace:
 [1] top-level scope at In[2]:1

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