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

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

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


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