Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вычисление / 7 сообщений из 7, страница 1 из 1
21.09.2015, 13:42:41
    #39057303
AkOs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
Есть два вопросы, подскажите пожалуйста:
1. Как правильно прописать выражение: (x)^1/n
2. При делении на очень маленькое число типу 0.000000000012 ошибка Divide by zero error encountered, делитель определяет как 0, скорее всего его нужно преобразовать к правильному типу данных, какому именно.

Заранее спасибо!
...
Рейтинг: 0 / 0
21.09.2015, 14:02:11
    #39057334
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
Математические функции

А вообще - задача непонятна, описывайте подробнее.
...
Рейтинг: 0 / 0
21.09.2015, 14:09:52
    #39057351
AkOs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
miksoft,

Что касается 1-го пункта, допустим нужно найти среднее геометрическое = (x1 * x2 * ... * xN)^(1/N) столбца, перемножить все элементы удалось, вот таким образом:
EXP(SUM(LOG(x))) а теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце.

По 2-ом пункту, среднее гармоническое = N/(1/x1 + 1/x2 + ... + 1/xN), в скобках выражение на выходе будет очень маленьким, при делении N на него, ошибка типу деление на ноль.
...
Рейтинг: 0 / 0
21.09.2015, 14:12:42
    #39057356
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
AkOsа теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце.Это несложно, для этого есть фунция POWER.
AkOsПо 2-ом пункту, среднее гармоническое = N/(1/x1 + 1/x2 + ... + 1/xN), в скобках выражение на выходе будет очень маленьким, при делении N на него, ошибка типу деление на ноль.А какой тип данных используете?
По идее, у DOUBLE такой проблемы быть не должно.
...
Рейтинг: 0 / 0
21.09.2015, 14:28:14
    #39057377
AkOs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
Спасибо, все работает.
Что касается второго пункта, у меня там была разница двух дат в минутах, изначально забыл преобразовать поле в FLOAT после вычислений.
...
Рейтинг: 0 / 0
21.09.2015, 15:20:24
    #39057463
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
AkOsперемножить все элементы удалось, вот таким образом:
EXP(SUM(LOG(x))) а теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце.
То есть математики у вас в школе не было вообще?
Сперва подели, блин, а потом EXP().
...
Рейтинг: 0 / 0
21.09.2015, 15:32:32
    #39057475
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисление
AkinaAkOsперемножить все элементы удалось, вот таким образом:
EXP(SUM(LOG(x))) а теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце.
То есть математики у вас в школе не было вообще?
Сперва подели, блин, а потом EXP().Причем делить можно неявно:
Код: sql
1.
SELECT EXP(AVG(LOG(x))) FROM ...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вычисление / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]