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

Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 15:47:19
yor
Здра! Математический вопрос.
Дано: шкала с известными значениями, шкала с неизвестными значениями, на которой надо вычислить значение, пропорциональное первой, но она не от ноля. То есть в зависимости от Vmid вычислить Tx.
Подскажите пож-ста, как найти Tx, учитывая, что шкала не от ноля? Если бы от ноля, то пропорции я ещё помню:
Tx/Vx=Tmax/Vmax. А тут в голову ничего не лезет, попытки тупо вычитать/делить не привели к успеху.

Код: Выделить всё

Vmax
-
-Vmid
-
Vmin=0
-------------
Tmax
-
-Tx
-
Tmin≠0

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 15:59:00
КРАМ
Если шкалы линейные, то одна пересчитывается в другую по простой формуле:
Fnew(x)= K*f(x)+C
где K - коэффициент наклона графика функции, а С - смещение (может быть отрицательным) графика функции (оффсет)
Проще всего совместить графики в Эксель.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 16:29:25
yor
Даже не знаю, линейные ли они. Первая V будем считать линейная, напряжение от 0 до 5В, оцифровывается и в зависимости от Vmid надо вычислить период, который по абсолютным значениям вроде нелинеен сам по себе (100--70--50--30--10мсек). Как тут прикрутить график функции?
Это всё опять же на PIC

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 16:35:51
Martian
100--70--50--30--10 если такие значения, то просто две функции: одна работает на участке 100...70, другая на 70...10. Будут ли они обе линейные (тогда изменяется только K), или только вторая - Вам решать.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 18:12:11
yor
Не понял, какие такие значения? Значения от 100 до 10, через единицу. Или, если точнее, от FFFF thru 85C. Зачем две функции? Подскажите хоть одну))

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 18:37:24
Martian
КРАМ подсказал её. Я понял так: есть точки 100--70--50--30--10 (ось у), им соответствует напряжение 0...5 (ось х). Получается, в самом простом варианте график из двух прямых: 100--70 и 70--50--30--10. Получаем тогда одну функцию y = K*x + C, но с двумя значениями коэффициента K, в зависимости от х

Добавлено after 7 minutes 11 seconds:
на всяк случай: диапазон управления иногда интереснее как 0,5...4,5 В. Тогда крайние значения 0 и 5 легко оцениваются как аварийные.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 19:09:27
yor
Кажется, понял, что вы имеете в виду. Оно? Так-то подходяще. Ладно, буду рожать формулу, которую можно вычислить на PIC. То есть пытаться притянуть за уши Крамовскую)) Так а пропорция тут никак не подойдёт?
Изображение

Диапазон пусть будет 0-5, это же вход, никакой аварии, АЦП цифрует и вычисляется, а пошире пригодится. Да и ещё опять же формула усложнится.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 19:39:52
Муркиз
Вообще-то это стандартная задача корреляционно-регресионного анализа, но описание задачи настолько невнятное, что что с чем связано и что там в исходных данных, связать невозможно...

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 19:41:49
Martian
ну, из того, что написано, примерно так:

Код: Выделить всё

if (x > 3,75) // если напряжение больше 3,75 В
  y =  24*x - 20;  //100...70
else
  y =  16*x + 10; // 70...10
подозреваю, что можно проще, но уже башка не варит

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 20:00:32
yor
Я и слов-то таких не знаю, если только по отдельности))
Martian, чего Вы прицепились к разрыву, или надлому, в точке 70? Это прямая.
Можно по способу трапеций, вычисление длины линий, параллельных основаниям трапеции. Но там много умножений/делений. X=(A*B+C*D):E по этому типу.
Проще никак?

А задача такая: я даже удивлён, что не находится в инете проекта двухканального противофазного генератора. На TL494/KA7500 с большими скважностями на малых частотах не работает, ещё кто-то продаёт на PIC, но это не наш путь. Решил сам сделать. Регулируемый переменником. Для этого АЦП считывает величину от 0 до 5В, и пропорционально надо вычислить значение периода, который не может быть нулевым и даже слишком малым, чтобы частота не была слишком высокой.

А с объяснениями у меня да, проблема. Особенно с письменными))

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 20:02:40
Martian
офигенная прямая. Межу 100 и 70 разница 30, а между 70 и 50 - 20. Это прямая? Зачем тогда дезинформируете?

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 20:20:35
yor
Это промежуточные значения, на всей длине 100-10. Просто как пример привёл.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 20:33:41
Martian
Зачем приводить промежуточные значения в диапазоне 100...10? чтобы показать что?

[uquote="yor",url="/forum/viewtopic.php?p=4612479#p4612479"]надо вычислить период, который по абсолютным значениям вроде нелинеен сам по себе (100--70--50--30--10мсек).[/uquote]
Вы уж определитесь... то вроде нелинейная, то линейная.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 20:41:19
yor
По недомыслию, каюсь.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 21:11:48
veso74
Переназначает число из одного диапазона в другой.
По аналогии с Ардуиновская функция map() использую для нескольких типах МК (C, C++) выражения:

Код: Выделить всё

int32_t map(int32_t x, int32_t in_min, int32_t in_max, int32_t out_min, int32_t out_max) {
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
Значения могут варьироваться от одного к другому, в т.ч. 0 и - и +.

int32_t x = 0xF1;
int32_t y = map(x, 0, 0xFF, 0x085C, 0xFFFF);
---
резултат: y = 0xF266.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 21:18:14
Martian
но если отказаться от универсальности, то будет скромно 18 * х + 10, и что хорошо - без деления. можно даже привести к x<<4 + x<<1 + 10

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 21:42:31
yor
Я бы попросил без С!

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 21:56:50
veso74
Ничего не упомянули о C. Перепишите выражение по своему усмотрению.
Использую даже при низкоресурсных PIC как 10F322 и 12F675.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Чт авг 08, 2024 23:27:43
Martian
да и что тут от Си?
Между прочем, достаточно много алгоритмов описывается псевдо-Си записью, не смотря на то, что целевой язык может быть иным. Потому что удобно. Даже блок-схема удобней ассемблера и может рассматриваться гораздо большим количеством людей, а не горсткой, знающих определенный процессор.

Re: Дефективная пропорция, урезанная с одной стороны

Добавлено: Пт авг 09, 2024 08:36:12
yor
Подсказали пропорцию:

Код: Выделить всё

(Tx-Tmin)/Vx = (Tmax-Tmin)/Vmax
которая экономичнее метода трапеций на одну операцию вычитания и умножения.