5.5. Построение логарифмических шкал
Если откладываемая на оси диаграммы величина N изменяется в широком диапазоне, то применяют логарифмическую шкалу (рисунок 5.12). В проектах наиболее часто в логарифмическом масштабе откладывают частоту на амплитудно-частотных, фазочастотных характеристиках, напряжения на амплитудных характеристиках усилителей и др. Для построения логарифмических шкал применяют систему десятичных логарифмов. Отрезок шкалы, на котором величина изменяется в десять раз, называют декадой. Линии, разграничивающие декады, делают толще.
Используемая для построения шкалы мера l пропорциональна логарифму откладываемой на оси величины N.

,
где М — масштабный коэффициент шкалы, равный длине декады.
Если на оси диаграммы длиной L нужно разместить т декад, то, очевидно, M=L/m. На логарифмической шкале указывают не логарифм числа, а само число. Шкала начинается с числа 10 n , где п — нуль или любое целое число. Разработка логарифмической шкалы сводится к разработке первой декады, так как вся шкала состоит из ряда декад, отличающихся лишь тем, что числа шкалы каждой последующей декады увеличены на один порядок по сравнению с предыдущей (см. рисунок 5.12). Шкала в пределах декады должна быть оцифрована равномерно, а количество чисел на шкалах декад — одинаково.

Рисунок 5.12. На оси абсцисс диаграммы построена логарифмическая шкала
При расчете и анализе систем автоматического регулирования применяют логарифмические амплитудно-частотые характеристики (ЛАХ), на осях абсцисс которых откладывают логарифмы частоты, а на осях ординат—логарифмы относительных амплитуд. Логарифмические характеристики имеют то преимущество, что для многих простых систем их приближенно аппроксимируют отрезками прямых, а перемножение двух передаточных функций сводится к сложению ординат двух логарифмических амплитудно-частотных и фазочастотных характеристик.
6.Основные виды чертежей дипломного проекта и правила их выполнения
6.1. Размещение чертежей на бумажном листе
Форматом чертежа называют размер обрезанного листа бумаги, на котором выполнен чертеж (табл. 6.1).
Интерполяция + (линейная | логарифмическая) шкала + С++
Понадобилось мне как-то сделать интерфейс для загрузки в микроконтроллер график функции «сопротивление -> температура» (график решили задавать по нескольким точкам, а потом их интерполировать). По ходу дела выяснилось, что график будет оч-чень нелинейным (180 Ом -> 100 o , 6 000 Ом -> 0 o , 30 000 Ом -> -30 o ). Поэтому пришлось мне погрузиться в тему логарифмических шкал… и сразу вынырнуть, так как я не нашел того, что мне нужно. А нужно-то мне было всего лишь понять математику (и реализацию на С++) таких дел. ЧуднО — вроде такая нужная тема, а не расписано! Ну да ладно — мозги заскрипели и вспомнили высшую математику из университета, и программа была написана. Решил описать я свои мытарства тут — может, кому пригодится.
В этой статье я распишу теорию (а также базовые виртуальные классы), в следующей возьмусь за конкретные реализации средствами Qt.
Осторожно: в тексте много графики!
Откуда растут ноги у задачи
В общем, надо мне сделать регулятор холостого хода — такая штука для автомобиля, которая при холостом ходе в зависимости от температуры двигателя должна поддерживать определенные обороты. Поддерживает она их, регулируя заслонку шаговым двигателем.
В общем, мне надо знать текущую температуру. Было решено измерять ее штатными средствами — с терморезистора. Измеряем падение напряжения на нем — получаем сопротивление. Далее из таблицы (поскольку это микроконтроллер) получаем требуемые обороты.
Таблицу эту надо задать (для этого программа пишется средствами Qt). У меня есть несколько точек «сопротивление => температура». Мне надо для каждого кода АЦП (для ряда значений сорпотивлений) получить соответствующую температуру. Поскольку у разных автомобилей эти значения могут быть разными, то надо на экране, сверившись с таблицей, задать несколько точек на кривой.
По ходу дела оказалось, что график этот будет явно в логарифмическом масштабе. Значит, надо его вывести на экран. Как это сделать — читаем дальше.
Постановка задачи
Давайте немного подробнее опишем что нам надо:
- задание функции — необходимо задать несколько точек, по которым строится график. Вобщем, вспоминаем интерполяцию;
- построение графика функции — да-да, я знаю про Qwt. Может, не очень хорошо я его знаю, т. к. я не нашел в нем следующей возможности:
- интерактивное задание функции — мне нужно двигать точки, по которым строится функция, прямо на экране, в текущих экранных координатах шкалы, которые переводятся в реальное значение;
- линейная/логарифмическая шкала — поскольку значения вот такие, как я написал, мне пришлось заложить возможность менять шкалу. Причем как одну, так и обе сразу.
Вот такое ТЗ… Ну да ничего, я справился! Давайте и вам помогу.
Да, пока не нырнули — спасибо Equation Editor-у от CodeCogs! С их помощью я лихо построил все математические формулы без всяких Microsoft Equation Editor, которые потом надо еще экспортировать в графику со вставкой сюда. Кстати, там есть и русский редактор. В общем, рекомендую!
Ну и если вместо формул вы видите пустые квадратики — это тоже «спасибо» Equation Editor-у…
Прикрепленный Excel-файл
По ходу написания статьи я все расчеты строил и проверял в таблице Excel с формулами. Оказалось очень удобно. И я решил его выложить для общественного пользования. Там внизу перечислены страницы по разделам. На каждой странице параметры, которые можно менять, отмечены как ячейки с желтым фоном. Остальные клетки лучше не трогать. Впрочем, все формулы можно смело смотреть. Скачивайте файлик и пробуйте на здоровье! Если проблемы с файлом — пишите, вышлю.
Функциональная зависимость
Итак, у нас есть некоторая зависимость — обозначим ее как
. Здесь у нас
— горизонтальная ось графика,
— вертикальная. В моем случае
было значение сопротивления,
— температура.
Почему не
? Ведь вроде бы должно быть так? Так-то оно так, но только в школе в простейшем случае.
— это координаты точки на плоскости. Для простоты определимся использовать Декартову систему координат: задает вертикальное смещение горизонтальной оси относительно нуля,
задает горизонтальное смещение вертикальной оси относительно нуля.
Все хорошо тогда, когда мы рисуем на бумаге эту самую систему координат и в ней ставим точки. Там и вправду — выбрали центр, линейкой отложили сюда, потом туда. А вот при построении графика в какой-то программе уже тонкости начинаются — что считать нулем? Что считать за «+», а что за «-«? Я рисую для этой статьи графику в CorelDRAW — там центр считается снизу слева (его можно передвинуть куда надо).
Да и в каких единицах график-то? В сантиметрах? А почему? У меня следующий этап будет реализация на С++ средствами Qt, так там я сделаю окно QWidget, у которого по умолчанию ноль — это слева сверху; единицы измерения — экранные пиксели.
Ну и не забываем о том, что это все эти красивые рассуждения справедливы пока что для линейной шкалы, а у нас маячит за горизонтом логарифмическая. Там вообще черт знает что будет!
Но это только лишь точка. А у нас будет какая-то линия, точнее — много линий. Что там будут за преобразования?
Вот именно поэтому мы с самого начала должны четко разделить функциональную зависимость и преобразования координат.
Итак, давайте договоримся о следующем: у нас есть некоторый абстрактный процесс, который описывается функциональной зависимостью
. При отображении на экран используется преобразование в координаты , где
,
. Следующие шаги — это прояснить эти самые
и
.
Но отложим пока в сторону координаты — нам надо как-то задать нашу функцию (помните ТЗ)? Причем задать в тех самых абстрактных координатах
. Этим и займемся.
Интерполяция
В моем случае был известен ряд точек
:
, Ω |
, ˚ |
|---|---|
| 180 | 100 |
| 6 000 | 0 |
| 30 000 | -30 |
Не ахти какая сложна и большая таблица, но тут явно куча пустых мест. А какое сопротивление соответствует 60˚, -40˚, . В общем, надо проставить отсутствующие точки. И в этом нам помогут интерполяция, аппроксимация и экстраполяция. Впрочем, не пугайтесь — одной интерполяции хватит за глаза.
Методов интерполяции много, все рассматривать я тут не буду. Лично мне приглянулся вначале интерполяционный многочлен Лагранжа. Он весьма прост в расчете и реализации, а также в настройке. Там предполагается, что задано множество из
точек вида (тут мы на время таки вернемся к заданию точек в виде
— так уж принято в математике).
Многочлен вычисляется как , где .
Математика испугала? Хм… Ладно, напишу на языке С++:
Как видите, все достаточно тривиально (насколько тривиальными могут быть полиномы).
Еще одно большое достоинство полиномов Лагранжа — их легко можно промоделировать в таблице Excel-я, что я и делал.
Потом, правда, все стало немного печально, т. к. у этих полиномов, как и у любых других, на графике видны вибрации. Т. е. они не могут дать прямые линии — постоянные значения. В моем случае я не смог их настроить дОлжным образом — они выгибались в явно недопустимые числа. Поэтому мне пришлось от них отказаться…
Работая в Corel, я был близко знаком с кривыми Безье — тоже достаточно удобное и простое представление табличных данных. Весьма легко реализуется в программировании. Однако это уже не интерполяция, а, скорее, аппроксимация, т. к. тут приходится подгонять кривую к нужному виду.
В итоге, внимательно присмотревшись к своей функции, я понял, что у меня вполне прокатит кусочно-линейная интерполяция — прямые отрезки между заданными линиями. Не то, чтобы совсем уж фен-шуйно, но зато легко реализуемо и удобно настраиваемо.
Говоря языком математики, мы между точками и проводим прямые линии вида .
Опять же, на языке С++ это будет выглядеть так:
Тоже ничего революционного, не так ли?
Есть одно существенное различие между полиномом Лагранжа и линейной интерполяцией: у первого нельзя явно задать значения за пределами точек — они вычисляются, у второго можно это дело контролировать. Также и поэтому я в конечном итоге остановился на линейном варианте. Более того — в логарифмическом масштабе, к которому я стремился, линейные отрезки дают более подходящий мне вариант.
Впрочем, не будем заморачиваться сейчас на методах интерполяции. Давайте лучше мы сделаем базовый класс, от которого будем наследовать реализации различных методов $#*@!поляции.
Базовый класс для задания/расчета функции
Что этот класс должен уметь делать? Мне кажется, что такой класс должен:
- давать значение функции в зависимости от аргумента — собственно, ради чего мы его и городим;
- реагировать (перемещать и пересчитывать) на изменение точек интерполяции — на вход подается факт нажатия/отпускания в некоторой координате, в результате чего производится пересчет параметров;
- различать одиночный и двойной щелчок мышки — одиночное нажатие, как по мне, указывает на передвижение точки; двойное создает новую точку;
- прорисовывать точки интерполяции как при их движении, так и без оного — т. к. у разных методов интерполяции будет разное интуитивно понятное значение точек интерполяции, то и выводить их должен производный класс (например, в интерполяции точка является частью графика; в аппроксимации точка не обязательно лежит на графике; в кривых Безье часть точек лежит на графике, часть задают форму);
- давать координаты текущей передвигаемой точки — это нужно для вывода текста координаты данной точки;
- давать сервисную информацию — например, «определена ли функция?», «сколько точек для интерполяции используется?», «получить координаты точек» и т. п. Эти данные позволят сохранить текущие настройки;
- производить настройку — «распределить столько-то точек», «задать координаты точки» — это нам позволит восстановить сохраненные настройки.
Еще есть мысли? Если будут — пишите в комментариях, добавим!
Получается такой вот класс:
(Тем, кто недоволен моим стилем и структурой — предложите объективно лучше!)
(Тем, кто найдет ошибки в коде — спасибо!)
Думаю, тут все очевидно.
Для координат используется представление точки в виде QPointF (пара чисел в виде qreal, qreal. «На всех платформах, кроме ARM, используется double» — так написано для Qt 4.8).
Нажатия на кнопки мышки реализованы функциями MouseClicked , MouseDblClicked , MouseReleased и MouseMove . Предполагается, что в конкретных реализациях будут соответствующие реакции.
Для прорисовки точек используются методы DrawPoints и DrawCurPoint . Если для всех методов, кроме этих, координаты используются абстрактные, то тут нужны самые что ни на есть экранные. Поэтому сюда передаются два объекта класса ScaleBase для преобразований. Этот класс — тоже виртуальный. Его предки реализуют преобразование из абстрактных координат в текущие экранные. Сам же этот класс будет описан ниже.
Текущее значение функции возвращает метод f (const qreal) и перегруженная операторная функция operator() (const qreal) .
Для задания структуры используются функции set_points (Num) — задание количества точек, point (Num) , set_point (Num) , get_point (Num) — задание координат конкретной точки. num_points () const — возвращает количество точек, point (Num) const , get_point (Num) const возвращают координаты точки. is_specified () const возвращает true , если структура функции задана.
В следующей статье мы распишем пару вариантов реализации этого класса.
Функция преобразования для вертикальной/горизонтальной шкалы
Есть линейные и логарифмические шкалы. Учитывая, что вертикальная шкала может быть сделана в одном формате, а горизонтальная — в другом, мы получаем четыре варианта графика:

Вариант первый — обе шкалы линейные. Вариант второй — обе логарифмические. Варианты третий и четвертый — смешанные графики. Кстати, в моем случае именно смешанный случай в итоге и подошел, т. к. по горизонтали у меня потребовался логарифмический масштаб, по вертикали — линейный.
Следовательно, задачу отображения нужно решать отдельно для обеих осей.
Напомним, что при отображении на экран используется преобразование в координаты , где
,
. Наша дальнейшая задача — построить эти функции для линейного и логарифмического случаев.
Что это за функции такие? На вход они получают координату в абстрактных (для компьютерной подпрограммы отображения на экран) координатах, на выход дают в экранных («экранные» координаты будут для разных операционных систем разными»). Для расчета им нужно знать следующее:

- пределы абстрактных координат — те предельные значения аргумента и функции, что нас интересуют. Это будут
,
для горизонтальной оси и
,
для вертикальной. Не нужно допускать классическую ошибку:
,
! В приведенном примере это проиллюстрировано; - пределы экранных координат — границы картинки, в которой рисуется график. Естественно, в текущих экранных координатах. На графике это
,
для горизонтальной оси и
,
для вертикальной;
- шаг экранной координаты — текущий шаг пикселя
,
. В простом случае это будет единица. Но в Qt вертикальный ноль — это верх окна. Следовательно,
. А еще могут быть применены всякие трансформации, и шаг уже будет отнюдь не единичным.
Обратите внимание — для задачи преобразования не важно, вертикальная это ось или нет! Она (задача) оперирует граничными значения входного, выходного, а также шагом выходного параметров. Следовательно, задачу можно обобщить: необходимо преобразовать параметр на основе его пределов , в выходную величину с учетом ее пределов , и шага . Тут намеренно введены обозначения , вместо привычных alt=»image» />, alt=»image» />, т. к. иначе будет путаница. Одно существенное дополнение: .
Базовый класс для преобразований шкал
Давайте сформулируем желаемую функциональность виртуального класса преобразований для шкалы, от которого будут унаследованы реализации шкал:
- преобразований из экранных координат в абстрактные и наоборот — логично, ради этого мы его и делаем;
- настройка преобразования — это тоже логично;
- свойства — текущие свойства преобразования (минимальные/максимальные значения, шаг для разных значений);
- информация по сетке — позиции для крупной и мелкой сетки, подписи под шкалой.
Реализация может выглядеть так:
Настройка шкалы производится функциями set_. (Val) . Пересчет необходимых значений должен производится в этих же функциях. При изменении размера окна вызывается метод Resized (Size) .
Для повышения производительности можно один раз рассчитать соответствие точки на экране и ее значение в исходных, абстрактных координатах. Этот массив возвращается методом scr_values () const . Далее, для построения крупной и мелкой сетки рассчитываются массивы (возвращают их, соответственно, функции scr_maj_grid () и scr_min_grid () ). Длина массива соответствует количеству оных линий, значение — смещению относительно начала шкалы на экране (т. е. индексу первого массива). Также заранее рассчитываются два массива — текст подписи к шкале (функция scr_text_str () ) и смещения этих подписей относительно начала (функция scr_text_pos () ).
Наконец, прямое преобразование — из абстрактных в экранные координаты — производится функцией scr (Val) , обратное — функцией val (Scr) .
Линейное преобразование
Давайте отдельно рассмотрим линейное преобразование для горизонтальной и вертикальной оси.


Мы имеем некоторую функцию — кривую в одном представлении. Для другого нам пришлось ее сузить и сместить вправо (окно на экране уменьшили и сдвинули вправо). Для другого представления нам пришлось сместить ее влево (окно сдвинули влево). Как это описывается математически? Достаточно просто: alt=»image» />. В первом случае, похоже, , во втором alt=»image» />.
В другом случае нам пришлось сузить вертикальное представление кривой и сдвинуть вверх. А потом и вообще — перевернуть. Оба этих преобразования описываются как alt=»image» />. В первом случае , . Во втором случае alt=»image» />.

Оба преобразования имеют одно и то же математическое описание: . В данном описании есть две константы, которые определяют преобразование — alt=»image» />и alt=»image» />. Первая определяет угол наклона, вторая — смещение относительно нуля.
Расчет этих констант достаточно прост — это решение системы двух уравнений:
Еще важно уметь делать обратное преобразование — скажем, координаты указателя мыши перевести в абстрактные координаты. Также ничего сложного:
Шаг в данном случае для расчета не используется, но он потом нам пригодится в реализации на С++ для расчета смещения.
Как это будет использоваться на практике? Да все просто! Горизонтальное преобразование: — граница картинки графика, соответствующая (как правило, слева), — (как правило, справа), — шаг вывода картинки по горизонтали. Вертикальное преобразование — аналогично, но по вертикали (у нас в Qt будет нижней границей картинки, — верхней, причем ).
Логарифмическое преобразование
А теперь окунемся туда, ради чего все это закрутилось:

(на графике не логарифм нарисован, а что-то похожее на него. Сделано это специально, т. к. логарифм тут будет не очень нагляден)
Если один и тот же на всей шкале, то будет везде разным! По какому закону он меняется? Правильно — по логарифмическому! Давайте первым делом научимся определять этот самый .
Всего точек у нас будет (например, , , ; тогда у нас будет 3 точки). Этому соответствует диапазон входных значений . Значению соответствует , соответствует . Последняя точка имеет индекс . Чему соответствует ?
Для линейной шкалы , где определяется диапазоном входных значений. Тут можно поступить аналогично, только вместо умножения будет возведение в степень: (помним, что ). Есть один, правда, ньюанс: при у нас , а должно бы. Это решается просто — вычтем единицу: . И тогда для нулевого случая все сходится. Как рассчитать в данном случае? Есть разные варианты. Я это предпочитаю сделать следующим образом.
Нам известно, что . В то же время мы теперь знаем, что . Получается уравнение: . Решим его относительно : . Вспомнив, чему равно и заменив корень возведением в степень, получим приемлемый для компьютера вид: (напоминаю, что ). Прекрасно, базовая величина получена!
Фактически, мы получили алгоритм преобразования из экранной координаты в абстрактную — обратная задача. Теперь режим прямую задачу — преобразование из абстрактной координаты в экранную. Задача решается несложно. Фактически, нужно найти , а для него несложно и .
Для нахождения надо решить уравнение относительно : . Ну а дальше уже из свойств логарифма получим, что . Ну и далее, рассматривая экранные координаты как линию с наклоном, получим, что (для полной красоты надо еще заменить на ).
Вроде бы базовую математику рассмотрели. Нашли ошибки или неточности — пишите в комментариях, буду благодарен!
Со временем напишу следующую статью — реализацию этой математики средствами Qt языка C++.
Логарифмическая шкала — Logarithmic scale
Логарифмической шкалы (или логарифмическом масштабе ) является способом отображения числовых данных в очень широком диапазоне значений в компактном виде, как правило , наибольшее число в данных , сотни или даже тысячи раз больше , чем наименьшими номерами. Такой масштаб является нелинейным : числа 10 и 20, 60 и 70 не находятся на одинаковом расстоянии друг от друга в логарифмической шкале. Напротив, числа 10 и 100, 60 и 600 расположены на одинаковом расстоянии. Таким образом, перемещение единицы расстояния по шкале означает, что число умножено на 10 (или другой фиксированный коэффициент). Часто кривые экспоненциального роста отображаются в логарифмической шкале, в противном случае они увеличивались бы слишком быстро, чтобы поместиться на небольшом графике.. Другой способ думать об этом — это то, что количество цифр данных растет с постоянной скоростью. Например, числа 10, 100, 1000 и 10000 равномерно распределены по логарифмической шкале, потому что их количество цифр увеличивается на 1 каждый раз: 2, 3, 4 и 5 цифр. Таким образом, добавление двух цифр умножает количество, измеренное на логарифмической шкале, в 100 раз.
![]()
СОДЕРЖАНИЕ
Общее использование
Отметки на линейках расположены в логарифмической шкале для умножения или деления чисел путем добавления или вычитания длин на шкалах.
Ниже приведены примеры обычно используемых логарифмических шкал, где большее количество приводит к более высокому значению:
Ниже приведены примеры обычно используемых логарифмических шкал, где большее количество приводит к более низкому (или отрицательному) значению:
- pH для кислотности
- Шкала звездной величины яркости звезд
- Шкала Крамбейна для размера частиц в геологии
- Поглощение света прозрачными образцами
Некоторые из наших чувств действуют логарифмически ( закон Вебера-Фехнера ), что делает логарифмические шкалы для этих входных величин особенно подходящими. В частности, наш слух воспринимает равные отношения частот как равные различия в высоте тона. Кроме того, исследования маленьких детей в изолированном племени показали, что логарифмические шкалы являются наиболее естественным отображением чисел в некоторых культурах.
Графическое представление
Левый верхний график является линейным по осям X и Y, а ось Y находится в диапазоне от 0 до 10. Для оси Y нижнего левого графика используется логарифмическая шкала с основанием 10, а по оси Y — от 0,1 до 1000.
На верхнем правом графике используется шкала log-10 только для оси X, а на нижнем правом графике используется шкала log-10 как для оси X, так и для оси Y.
Представление данных в логарифмической шкале может быть полезно, когда данные:
- охватывает большой диапазон значений, поскольку использование логарифмов значений, а не фактических значений сокращает широкий диапазон до более управляемого размера;
- могут содержать экспоненциальные законы или степенные законы , поскольку они будут отображаться как прямые линии.
Линейка скольжения имеет логарифмическую шкалу, а номограммы часто используют логарифмическую шкалу. Среднее геометрическое двух чисел на полпути между числами. До появления компьютерной графики логарифмическая миллиметровка была широко используемым научным инструментом.
Лог – логарифмические графики
Если и вертикальная, и горизонтальная оси графика масштабируются логарифмически, график называется графиком log-log .
Полулогарифмические графики
Если только ордината или абсцисса масштабируются логарифмически, график называется полулогарифмическим графиком.
Расширения
Модифицированное логарифмическое преобразование можно определить для отрицательного входа ( y <0) и избежать сингулярности для нулевого входа ( y = 0), чтобы получить симметричные логарифмические графики:
для постоянной C = 1 / ln (10).
Логарифмические единицы
Логарифмическая единица представляет собой блок , который может быть использован , чтобы выразить величину ( физический или математический) в логарифмическом масштабе, то есть, как пропорционально значение логарифма функции применяется к соотношению количества и эталонное количеству того же типа. Выбор единицы обычно указывает тип количества и основание логарифма.
Примеры
Примеры логарифмических единиц включают единицы емкости хранения данных ( бит , байт ), информации и информационной энтропии ( нат , шеннон , запрет ) и уровня сигнала ( децибел , бел, непер ). Логарифмические частотные величины используются в электронике ( декада , октава ) и для музыкальных интервалов высоты звука ( октава , полутон , цент и т. Д.). Другие единицы логарифмической шкалы включают точку шкалы величин Рихтера .
Кроме того, некоторые промышленные меры логарифмическая, такие как стандартные значения для резисторов , то американская проволока , то датчик Бирмингем используется для проволоки и иглы, и так далее.
Единицы информации
Единицы измерения уровня или разницы уровней
Единицы частотного интервала
- десятилетие , decidecade , Савара
- октава , тон , полутон , цент
Таблица примеров
| Ед. изм | Основание логарифма | Базовое количество | Интерпретация |
|---|---|---|---|
| немного | 2 | количество возможных сообщений | количество информации |
| байт | 2 8 = 256 | количество возможных сообщений | количество информации |
| децибел | 10 (1/10) ≈ 1,259 | любое количество мощности (например, звуковая мощность ) | уровень звуковой мощности (например) |
| децибел | 10 (1/20) ≈ 1,122 | любая основная величина мощности (например, звуковое давление ) | уровень звукового давления (например) |
| полутон | 2 (1/12) ≈ 1,059 | Частота от звука | интервал подачи |
Два определения децибела эквивалентны, потому что отношение величин мощности равно квадрату соответствующего отношения величин корневой мощности .
Как правильно пользоваться логарифмической линейкой?

Уильям Отред — изобретатель логарифмической линейки
Уильям Отред, выпускник Итонской школы и Кембриджского королевского колледжа, пастор церкви в Олсбери в графстве Суррей, был страстным математиком и с удовольствием преподавал любимый предмет многочисленным ученикам, с которых не брал никакой платы. «Маленького роста, черноволосый и черноглазый, с проницательным взглядом, он постоянно что-то обдумывал, чертил какие-то линии и диаграммы в пыли, — так описывал Отреда один из биографов. — Когда ему попадалась особенно интересная математическая задача, бывало, что он не спал и не ел, пока не находил ее решения». Он является первым изобретателем логарифмической линейки.

История изобретения
В 1631 году Отред опубликовал главный труд своей жизни — учебник Clavis Mathematicae («Ключ математики»), выдержавший несколько переизданий на протяжении почти двух веков. Однажды, обсуждая «механические вычисления» с помощью линейки Гюнтера со своим учеником Уильямом Форстером, Отред отметил несовершенство этого метода. Между делом учитель продемонстрировал свое изобретение — несколько концентрических колец с нанесенными на них логарифмическими шкалами и двумя стрелками.
Форстер был восхищен и позднее писал: «Это превосходило любой из инструментов, которые были мне известны. Я удивлялся, почему он скрывал это полезнейшее изобретение многие годы. » Сам Отред говорил, что он «просто изогнул и свернул шкалу Гюнтера в кольцо», и к тому же был уверен, что «настоящее искусство [математики] не нуждается в инструментах. », их использование он считал допустимым только после овладения этим искусством. Однако ученик настоял на публикации, и в 1632 году Отред написал (на латыни), а Форстер перевел на английский брошюру «Круги пропорций и горизонтальный инструмент», где была описана логарифмическая линейка.
Споры об авторстве
Авторство этого изобретения оспаривал другой его ученик — Ричард Деламэйн, опубликовавший в 1630 году книгу «Граммелогия, или Математическое кольцо». Некоторые утверждают, что он просто украл изобретение счетной линейки у учителя, но возможно, он пришел к похожему решению независимо. Еще один претендент на авторство — лондонский математик Эдмунд Уингейт, предложивший в 1626 году использовать две линейки Гюнтера, скользящие друг относительно друга. До современного состояния инструмент довели Роберт Биссакер, сделавший линейку прямой (1654), Джон Робертсон, снабдивший ее бегунком (1775), и Амеде Маннгейм, оптимизировавший расположение шкал и бегунка.
Логарифмическая линейка значительно облегчила сложные вычисления для инженеров и ученых. В XX веке до появления калькуляторов и компьютеров логарифмическая линейка была таким же символом инженерных специальностей, каким для врачей является фонендоскоп.
Как пользоваться логарифмической линейкой
Рассмотрим, как проводить базовые математические операции с помощью логарифмической линейки. Принцип ее действия основан на том, что умножение и деление чисел заменяется соответственно сложением и вычитанием их логарифмов.
Сложение
Представим, что нам нужно найти сумму двух и четырех. На одной линейке (нижней) откладываем два деления (на рисунке отрезок а), вторую линейку (верхнюю) сдвигаем вправо на эти же два деления, после чего откладываем на ней еще четыре деления (отрезок b на рисунке). Смотрим на нижней линейке, над каким числом находится точка, в которую мы пришли — это шесть.
Умножение
Для начала введем переменные: a ∙ b = с при a = 2, b = 3. Затем возведем в логарифм обе части равенства и получим Lg(a) + lg(b )= lg(с). Взяв две линейки с логарифмическими шкалами, увидим, что сложение значений lg2 и lg3 дает в результате lg6, то есть произведение 2 на 3.
На основной шкале корпуса линейки (вторая снизу) выбираем первый сомножитель и на него устанавливаем начало основной, нижней, шкалы движка (она на лицевой стороне последнего и точно такая же, как основная шкала корпуса).
Затем на основной шкале движка волосок бегунка устанавливается на втором сомножителе. На основной шкале корпуса линейки под волоском смотрим ответ. Если при этом волосок выходит за пределы шкалы, то на первый сомножитель устанавливают не начало, а конец движка (с числом 10).