|
|
|
Вычисление
|
|||
|---|---|---|---|
|
#18+
Есть два вопросы, подскажите пожалуйста: 1. Как правильно прописать выражение: (x)^1/n 2. При делении на очень маленькое число типу 0.000000000012 ошибка Divide by zero error encountered, делитель определяет как 0, скорее всего его нужно преобразовать к правильному типу данных, какому именно. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 13:42:41 |
|
||
|
Вычисление
|
|||
|---|---|---|---|
|
#18+
miksoft, Что касается 1-го пункта, допустим нужно найти среднее геометрическое = (x1 * x2 * ... * xN)^(1/N) столбца, перемножить все элементы удалось, вот таким образом: EXP(SUM(LOG(x))) а теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце. По 2-ом пункту, среднее гармоническое = N/(1/x1 + 1/x2 + ... + 1/xN), в скобках выражение на выходе будет очень маленьким, при делении N на него, ошибка типу деление на ноль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 14:09:52 |
|
||
|
Вычисление
|
|||
|---|---|---|---|
|
#18+
AkOsа теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце.Это несложно, для этого есть фунция POWER. AkOsПо 2-ом пункту, среднее гармоническое = N/(1/x1 + 1/x2 + ... + 1/xN), в скобках выражение на выходе будет очень маленьким, при делении N на него, ошибка типу деление на ноль.А какой тип данных используете? По идее, у DOUBLE такой проблемы быть не должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 14:12:42 |
|
||
|
Вычисление
|
|||
|---|---|---|---|
|
#18+
Спасибо, все работает. Что касается второго пункта, у меня там была разница двух дат в минутах, изначально забыл преобразовать поле в FLOAT после вычислений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 14:28:14 |
|
||
|
Вычисление
|
|||
|---|---|---|---|
|
#18+
AkOsперемножить все элементы удалось, вот таким образом: EXP(SUM(LOG(x))) а теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце. То есть математики у вас в школе не было вообще? Сперва подели, блин, а потом EXP(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 15:20:24 |
|
||
|
Вычисление
|
|||
|---|---|---|---|
|
#18+
AkinaAkOsперемножить все элементы удалось, вот таким образом: EXP(SUM(LOG(x))) а теперь с этого выражения нужно взять степень 1/N, где N - количество элементов в столбце. То есть математики у вас в школе не было вообще? Сперва подели, блин, а потом EXP().Причем делить можно неявно: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2015, 15:32:32 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1832700]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
184ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 190ms |
| total: | 433ms |

| 0 / 0 |
