Страница 1 из 1

Вычисление натурального логарифма

Добавлено: 30 янв 2018, 21:08
gerdog
Друзья, у кого-нибудь есть блок вычисления натурального логарифма или как это можно реализовать?

Вычисление натурального логарифма

Добавлено: 31 янв 2018, 07:24
gerdog
Для примера расчет точки росы, а так для обработки сигнала с одного узкоспециализированного датчика имеющего нелинейную, логарифмическую характеристику. Про math.h знаю, но с написанием кода на "вы"

Вычисление натурального логарифма

Добавлено: 31 янв 2018, 08:08
Phazz
Для датчика попробуйте блок нелинейного масштабирования

Вычисление натурального логарифма

Добавлено: 31 янв 2018, 18:00
gerdog
Phazz писал(а): 31 янв 2018, 08:08Для датчика попробуйте блок нелинейного масштабирования
Пробовал в первую очередь, не обеспечивает нужную точность, плюс если в ручную забивать таблицу получится откровенная порнография.

Отправлено спустя 9 часов 13 минут 5 секунд:
Вот нашёл немного инфы, если кто-нибудь сможет состряпать блок по типу стандартного из раздела алгебра:

Про библиотеку math.h [spoiler]http://all-ht.ru/inf/prog/c/func/log,logf,logl.html[/spoiler]

Про реализацию самого блока, взято из коментариев: [spoiler]Какая прелесть. Мне нужно получить логарифм числа. В программе это не реализовано.
Создал пользовательский блок с входом in_war и выходом out_war.
В LoopSection вписал out_war=log(in_war);
На вход подаю число? на выходе получаю логарифм этого числа.
До этого обновления приходилось танцы с бубном устраивать, да еще в скетче в одном месте править код.[/spoiler]

Вычисление натурального логарифма

Добавлено: 31 янв 2018, 18:54
gerdog
Всем спасибо, может кому пригодится.

Вычисление натурального логарифма

Добавлено: 01 фев 2018, 12:51
gerdog
Спасибо добрый человек за развёрнутый ответ! Я масштабированием не стал заниматься ибо оно работает только с целыми числами, может быть оно и не так, но с ходу у меня не получилось разобраться я и забил. Суть в том что я с датчика, грубо говоря, получаю от 0 до 1 В, а на дисплее мне надо получить некое значение которое рассчитывается по формуле: ln(100/k)*450, k - линейно изменяется, и исходя из этого я получаю нужное мне значение, ну это так в двух словах.

Далее про точку росы, это так уже промежуточный проект. Вот тут наглядно с примером расчёта:
[spoiler]http://holodine.net/utepliteli/tochka-r ... chki-rosy/[/spoiler]

И теперь самый главный вопрос, почему блок можно использовать только один раз? Его мне скорее всего и хватит, но хочется понять суть проблемы.

Если интересно меня понять, я нашёл проект где я баловался с масштабированием, там на входе счётчик который прибавляет по 1 в секунду, а далее через масштабирование я получаю нужное мне число. Но проблема в том, что мне надо точность в идеале до двух знаков после запятой.

Вычисление натурального логарифма

Добавлено: 01 фев 2018, 14:45
Nikan
.

Вычисление натурального логарифма

Добавлено: 01 фев 2018, 15:24
gerdog
Nikan писал(а): 01 фев 2018, 14:45
gerdog писал(а): 01 фев 2018, 12:51И теперь самый главный вопрос, почему блок можно использовать только один раз?
Флпрог устроен так - все переменные при компиляции скетча переименовываются хрен знает во что и в какой последовательности.
для гарантированного несовпадения в именах.
при создании блога (кода) иногда важно что бы этого не происходило, для этого существует опция - использовать один раз.
в этом случае последовательность строк и имена остаются неизменными (почти всегда)
gerdog писал(а): 01 фев 2018, 12:51Но проблема в том, что мне надо точность в идеале до двух знаков после запятой.
тут встанет более остро вопрос аппаратной части устройства, чем программной....
Спасибо за информацию, будет над чем подумать.

А по поводу аппаратной части, у программиста с прямыми руками получилось реализовать подобное на уно, но он всё этими самыми ручками писал в ide) Мне же приходится искать спасение в flprog))

Вычисление натурального логарифма

Добавлено: 01 фев 2018, 15:48
Nikan
.

Вычисление натурального логарифма

Добавлено: 01 фев 2018, 19:53
Rovki
Вот тут ребята делали натуральный логарифм на ПР200
логарифм.jpg

Вычисление натурального логарифма

Добавлено: 02 фев 2018, 12:48
gerdog
Rovki писал(а): 01 фев 2018, 19:53Вот тут ребята делали натуральный логарифм на ПР200 логарифм.jpg
Мощно однако, спасибо, в принципе блока простого в flprog достаточно.

По поводу датчика:

Это ещё советская разработка, как таковых отдельно характеристик датчика нет. Прибор настраивался индивидуально под уникальный датчик. Если в двух словах, то определённый светодиод светит на определённый фоторезистор, всё это в герметичном корпусе. Помещается датчик в раствор и прибор показывает мутность этого раствора. Ну и как выше писал про выход от 0 до 1 в, 1 вольт - абсолютно чистый раствор, считай дистиллированная вода, 0 вольт выход абсолютно непрозрачный раствор. Таким образом работает весь диапазон датчика