Определение аргументов функций для заданного результата
От: Reldi  
Дата: 11.01.07 11:38
Оценка:
Не хватает математических знаний для решения следующей задачи.

Есть две функции двух переменных f1(x1, x2) и f2(x1, x2). Сами функции неизвестны, но можно получить значение каждой при любых значениях аргументов. Кроме того, известно, что f1 возрастает при возрастании x1 и x2, а f2 возрастает при возрастании x1 и убывает при возрастании x2. Необходимо определить x1 и x2, при которых значения функций будут соответствовать необходимым (или попадать в необходимые диапазоны).

Подскажите, пожалуйста, в какую сторону копать. Желательно ссылочкой, а не названием обширного математического раздела. Есть подозрения, что задача относится к теории автоматического регулирования. Тогда также хотелось бы указание на нужную информацию (не изучать же всю ТАР для решения одной задачи).
Re: Определение аргументов функций для заданного результата
От: KinK  
Дата: 11.01.07 13:36
Оценка:
Здравствуйте, Reldi, Вы писали:

R>Есть две функции двух переменных f1(x1, x2) и f2(x1, x2). Сами функции неизвестны, но можно получить значение каждой при любых значениях аргументов. Кроме того, известно, что f1 возрастает при возрастании x1 и x2, а f2 возрастает при возрастании x1 и убывает при возрастании x2. Необходимо определить x1 и x2, при которых значения функций будут соответствовать необходимым (или попадать в необходимые диапазоны).


Функции монотонно возрастают/убывают? (То есть, если x1< y1 и x2 < y2 — обязательно f1(x1,x2) < f1(y1,y2). ) Если да, то вроде всё элементарно…
Re[2]: Определение аргументов функций для заданного результа
От: Reldi  
Дата: 12.01.07 05:40
Оценка:
KK>Функции монотонно возрастают/убывают? (То есть, если x1< y1 и x2 < y2 — обязательно f1(x1,x2) < f1(y1,y2). ) Если да, то вроде всё элементарно…

Да. А для f2: если x1<y1 и x2>y2, то f2(x1,x2) < f2(y1,y2).
Re[3]: Определение аргументов функций для заданного результа
От: KinK  
Дата: 12.01.07 11:06
Оценка:
Здравствуйте, Reldi, Вы писали:

KK>>Функции монотонно возрастают/убывают? (То есть, если x1< y1 и x2 < y2 — обязательно f1(x1,x2) < f1(y1,y2). ) Если да, то вроде всё элементарно…

R>Да. А для f2: если x1<y1 и x2>y2, то f2(x1,x2) < f2(y1,y2).

Необходимые интервалы: {f1min;f1max}, {f2min;f2max}

x1 = x2 = 0

цикл, пока не найдём нужные x1 и x2
{
Если f1 < f1min
    Если f2 < f2min
        x1 = x1 + 1
    Если f2 >= f2min && f2 <= f2max
        x1 = x1 + 1
        x2 = x2 +1
    Если f2 > f2max
        x2 = x2 +1
Если f1 >= f1min && f1 <= f1max
    Если f2 < f2min
        x1 = x1 + 1
        x2 = x2 - 1        
    Если f2 >= f2min && f2 <= f2max
        Нашли искомые x1 и x2
    Если f2 > f2max
        x1 = x1 –1
        x2 = x1 + 1
Если f1 > f1max
    Если f2 < f2min
        x2 = x2 - 1    
    Если f2 >= f2min && f2 <= f2max
        x1 = x1 –1
        x2 = x2 -1
    Если f2 > f2max
        x1 = x1 - 1
}


Что бы это можно было применять на практике прибавлять/отнимать нужно не 1, а dx1 и dx2 (изначально равные единицам). Причём если на следующем шаге цикла сработало тоже условие, что и на предыдущем, то dx1 и/или dx2 удваиваем. Иначе, если сработало другое условие, то сбрасываем их опять до единицы.

Если x1 и x2 вещественные, то вместо единицы используем минимальное вещественное число, которое может повлиять на x1/x2. И не удваиваем его, а умножаем на 10.

Пойдёт?
Re: Определение аргументов функций для заданного результата
От: FDSC Россия consp11.github.io блог
Дата: 12.01.07 12:47
Оценка:
Здравствуйте, Reldi, Вы писали:

R>Не хватает математических знаний для решения следующей задачи.


R>Есть две функции двух переменных f1(x1, x2) и f2(x1, x2). Сами функции неизвестны, но можно получить значение каждой при любых значениях аргументов. Кроме того, известно, что f1 возрастает при возрастании x1 и x2, а f2 возрастает при возрастании x1 и убывает при возрастании x2. Необходимо определить x1 и x2, при которых значения функций будут соответствовать необходимым (или попадать в необходимые диапазоны).


R>Подскажите, пожалуйста, в какую сторону копать. Желательно ссылочкой, а не названием обширного математического раздела. Есть подозрения, что задача относится к теории автоматического регулирования. Тогда также хотелось бы указание на нужную информацию (не изучать же всю ТАР для решения одной задачи).


Причём тут ТАР?
Тебе нужно решить систему уравнений (или неравенств)
f1(x1, x2) = Значение1
f2(x1, x2) = Значение2

Это делает, например, метод Ньютона (он же — метод касательных). Есть метод простых итераций и т.п. Это вычислительная математика.

Насчёт неравенств — не знаю. Если есть априорная информация о монотонности — нужно смотреть на решение уравнений по краям нужного интервала, но тут для f2 информации не достаточно.

Метод Ньютона описан, например, в книге Р.П. Федоренко, введение в вычислительную физику. См. эл. версию на poiskknig.ru
Re[2]: Определение аргументов функций для заданного результа
От: Reldi  
Дата: 15.01.07 09:06
Оценка:
to KinK:
Спасибо, но нужен не подбор, а вычисление. Т.е. побыстрее и поточнее. Подбор в данном случае, естественно, тривиален.

to FDSC:
Спасибо — буду рыть в этом направлении.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.