реклама на сайте
подробности

 
 
> Подсчитать число декад логарифмической величины, Задачка по математике
Sergey_Aleksandr...
сообщение Jul 31 2012, 11:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 8-10-08
Из: РФ Смоленск
Пользователь №: 40 764



Всем привет. Есть некоторый диапазон (частот) от 7 кГц до 2 МГц [7*10^3, 2*10^6]. В логарифмическом масштабе выглядит так
Прикрепленное изображение

Никак не придумаю, как аналитически сосчитать число отсчётов логарифмической шкалы, укладывающихся в диапазоне. По-простому число вертикальных линий пересекающих отрезок на графике. В конкретном случае 23. Вроде-бы задача школьная, но что-то никик не получается смекнуть.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Jul 31 2012, 11:41
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Sergey_Aleksandrovi4 @ Jul 31 2012, 14:31) *
По-простому число вертикальных линий пересекающих отрезок на графике. В конкретном случае 23.

И поделить на десять. Линии идут не через 10, а через 1.

А еще: lg(2000000/7000). Получается несколько иная цифра. Чудо. sm.gif
Go to the top of the page
 
+Quote Post
Sergey_Aleksandr...
сообщение Jul 31 2012, 11:55
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 8-10-08
Из: РФ Смоленск
Пользователь №: 40 764



На самом деле число этих самых линий нужно найти. Просто-напросто не знаю как они обзываются. "Декада" знаю, "октава" - знаю sm.gif
Интервал [7 кГц, 2 МГц]. В логарифмическом масштабе (в кГц): 7, 8, 9, 10, 20, 30, 40, 50, .... 800, 900, 1000, 2000. Итого 23 точки, включая границы диапазона.
Уже десятичные логарифмы так и эдак крутил, аналитически получить не смог. Нужно для написания ПО. Можно конечно в циклах считать порядок величины и пробегать по всему диапазону, но хочется аналитичкси, по-красивее sm.gif
Цитата(V_G @ Jul 31 2012, 15:44) *
Число декад - это разность десятичных логарифмов минимума и максимума. Умножить его на число отсчетов внутри декады. Все.

Это первым делом в голову пришло. 9 * (lg(Fmax) - lg(Fmin)) + 1 = 9 * (lg(Fmax/Fmin) + 1. Для приведённого выше диапазона 7'000..2'000'000 выходит ~23,1. Похоже на правду. Но, например, 8'000..1'000'000 (должна быть 21 точка), по формуле выходит ~19,9. Поэтому эту тему и создал smile3046.gif
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 31 2012, 12:56
Сообщение #4



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Sergey_Aleksandrovi4 @ Jul 31 2012, 15:55) *
Интервал [7 кГц, 2 МГц]. В логарифмическом масштабе (в кГц): 7, 8, 9, 10, 20, 30, 40, 50, .... 800, 900, 1000, 2000. Итого 23 точки, включая границы диапазона.

На моих пальцах получилось 25 (если 10 точек на декаду).
Цитата
9 * (lg(Fmax) - lg(Fmin)) + 1 = 9 * (lg(Fmax/Fmin) + 1. Для приведённого выше диапазона 7'000..2'000'000 выходит ~23,1.

int(10*log10(2000000/7000))+1 = 25
Цитата
Похоже на правду. Но, например, 8'000..1'000'000 (должна быть 21 точка), по формуле выходит ~19,9.

int(10*log10(1000000/8000))+1 = 21

В общем виде, естесно
int(N*log10(Fmax/Fmin))+1, N - число точек на декаду
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 31 2012, 13:12
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(xemul @ Jul 31 2012, 15:56) *
На моих пальцах получилось 25 (если 10 точек на декаду).
...
В общем виде, естесно
int(N*log10(Fmax/Fmin))+1, N - число точек на декаду

Это не те точки. Это точки, если декаду разбить на равномерные 10 отрезков. Т.е. график был бы, как тетрадь в клетку.
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 31 2012, 13:33
Сообщение #6



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(ViKo @ Jul 31 2012, 17:12) *
Это не те точки. Это точки, если декаду разбить на равномерные 10 отрезков. Т.е. график был бы, как тетрадь в клетку.

Угу, плохо у меня с устным счётом. Для исходной задачи: int(9*log10(Fmax/Fmin))+1
Или совсем общо:
int(N*logM(Fmax/Fmin))+1, M - основание логарифма, N - число точек на одну степень основания

"Здесь не играть, здесь рыбу заворачивали..."
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 03:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016