C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Логарифм, Георгию
djdimm
Отправлено: 29.05.2003, 11:58


Не зарегистрирован







Спасибо, Георгий!
Но нельзя ли поподробнее насчет логарифмов....
Например как найти логарифм числа Х по основанию у ?
Заранее спасибо!!!
Георгий
Отправлено: 29.05.2003, 12:40


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



djdimm:

Извините за грубость, но Вы в школе учились? ;]]

Логарифм числа X по основанию Y можно вычислить как отношение логарифма по любому основанию числа X к логарифму по томуже основанию, но уже числа Y:

CODE

double X,Y,lgX,lgY,logXY;
lgX=log(X);
lgY=log(Y);
logXY=lgX/lgY;//это и есть логарифм от X по основанию Y


строгое доказательство:

CODE

условные обозначения:
^  - степень
ln — натуральный логарифм (логарифм по основанию e=2.718...)
e  - основание натурального логарифма
logXY — логарифм от X по основанию Y
(1) X=Y^(logXY) -> по мат. определению логарифма
(2) X=e^ln(X)   -> аналогично
(3) Y=e^ln(Y)   -> аналогично
(4) e^ln(X)=(e^ln(Y))^logXY -> получено из (1) путём подстановки вместо X и Y эквивалентных выражений (2) и (3) соответственно
(5) e^ln(X)=e^(ln(Y)*logXY) -> получено из (4) по правилам действий со степенями
(6) ln(X)=ln(Y)*logXY -> т.к. у (5) основания равны => равны и степени
(7) logXY=ln(X)/ln(Y) -> сделано допущение, что Y!=1
Примечание : вместо ln можно взять логарифм с любым основанием


Ко всем: а почему в библиотеке нет команды рассчёта логарифма по основанию 2 — эта команда поддерживается сопроцессором — точнее st(1)*log(st(0))(2) — было бы логично включить такую команду в библиотеку.
Admin
Отправлено: 29.05.2003, 13:07


Владимир

Группа: Администратор
Сообщений: 1190



А Вы загляните в


CODE

#include <Math.hpp>

там есть:

extern PACKAGE Extended __fastcall Log10(const Extended X);
extern PACKAGE Extended __fastcall Log2(const Extended X);
extern PACKAGE Extended __fastcall LogN(const Extended Base, const Extended X);


Отредактировано Admin — 29 May 2003, 13:08
Guest
Отправлено: 29.05.2003, 13:42


Не зарегистрирован







Отстал от жизни — я смотрел math.h а о math.hpp забыл...
Георгий
Отправлено: 29.05.2003, 13:52


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



всё таки math.hpp — это не ANSI C++ библиотека?
[SIZE=1]а почему меня guest`ом обозвали?[/SIZE=1]

Отредактировано Георгий — 29 May 2003, 13:53

Вернуться в Вопросы программирования в C++Builder