07.04.2011, 14:15 | #1 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Кое что о логарифмах и экспонентах
y:= exp(x*ln(e)); долженствующая реализовать выражение типа у равен е в степени х. При этом в программе предусматривается ввод постоянной Эйлера (е), и даже зачастую не в виде константы, а с клавиатуры. Всё это не то, чтобы ошибка, а просто излишний и изрядно нелепый наворот ненужных значков и действий. Потому что задачу решает стандартная функция у:= ехр(х); Ехр(х) - это и есть возведение числа е в степень х. Откуда же и почему возникает логарифм? Ответ прост - от незнания того, что такое вообще логарифм и с чем его едят, и, соответственно, бездумного применения общей формулы возведения в степень. Попытаемся разобраться. Будем исходить из того, что все представляют себе смысл действия "возведение в степень" (в дальнейшем основание степени а будем считать строго положительным): Так вот, логарифм - это ни что иное, как показатель степени b, т.е. Подставляя одно в другое, получаем основное логарифмическое тождество: Естественно, основанием логарифма, как и степени, может быть любое положительное число. Но два из них выделены особо - это 10 и е, дающие, соответственно, десятичные (lg) и натуральные (ln) логарифмы: Десятичными логарифмами мы заниматься не будем, нас будут интересовать в первую очередь логарифмы натуральные, потому что ln(x) - это стандартная функция во всех языках программирования. Но прежде отметим два фундаментальных свойства любых логарифмов. Из очевидных равенств и т.д. следует, что и, в частности, для натуральных логарифмов Отсюда понятно, что множитель вида ln(e) - бессмыслен, ибо он есть тождественная единица. Второе свойство (легко доказуемо): А вот теперь вернемся к общему алгоритму программирования возведения произвольного числа в произвольную степень. Используя основное логарифмическое тождество и с учетом последней формулы, имеем: Вот здесь, когда основание степени а отлично от е, логарифм уместен и необходим. А если же а=е, то настоятельно призываю пользоваться стандартной функцией ехр(х) и не маяться дурью. |
07.04.2011, 14:36 | #4 (permalink) | |
StalkerMEN
Регистрация: 19.04.2009
Сообщений: 3,702
Записей в дневнике: 2
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 2 сообщениях
Репутация: 4466
|
Цитата:
|
|
07.04.2011, 15:37 | #5 (permalink) | |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
Цитата:
нужно сделать раздел здесь что может понадобиться для написания простых программ))) |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
09.09.2011, 14:50 | #7 (permalink) |
Специалист
Регистрация: 12.01.2011
Адрес: Ростовская область, Таганрог
Сообщений: 2,024
Записей в дневнике: 9
Сказал(а) спасибо: 127
Поблагодарили 29 раз(а) в 16 сообщениях
Репутация: 12404
|
спасбо Владимир, жизнь моя далека от высшей математики, забылось то что я прекрасно знал, (поработал пару лет на стройке и усохли драгоценные нейроны с важной инфой), а вашу небольшую лекцию почитал и кое что зашевелилось.
|
04.12.2011, 14:58 | #8 (permalink) |
Новичок
Регистрация: 21.10.2011
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Если, например, вот так y[i,j]:=(exp(1/x[i])*ln(exp))+ln(a[j]*x[i]))/sin(a[j]*x[i])+4
а абс мне пишет, что функция EXP с параметрами указанных типов не найдена. |
04.12.2011, 16:03 | #10 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
P.S. LongCat, ну надо же - даже эпитеты у нас в отношении написанного идентичны! |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|