Дано:
Точки пересечения координат
Значения по оси X: 0,93; 0,88; 0,83; 0,7; 0,65; 0,54; 0,5
Значения по оси Y: 0,01; 0,05; 0,10; 0,5; 1,00; 5,00; 10,0

Задача: Найти функцию для графика

задан 14 Ноя '13 22:00

Таких функций много -- можно провести через указанные точки бесконечно много графиков. Здесь должно какое-то ограничение присутствовать.

(14 Ноя '13 22:38) falcao
10|600 символов нужно символов осталось
0

Для кусочно-линейной процедура такая. Дана точка $%x$%, и мы хотим вычислить значение функции в ней. Сначала надо узнать, между какими значениями списка находится $%x$%. Допустим, между 0,83 и 0,88. Значения в них равны 0,10 и 0,05. Составляем уравнение прямой, проходящей через точки (0,83;0,10) и (0,88;0,05). Угловой коэффициент $%k$% этой прямой равен $%(0,05-0,10)/(0,88-0,83)=-1$%. В общем случае, если речь о точках $%(x_1,y_1)$% и $%(x_2,y_2)$%, где $%x_1 < x_2$%, коэффициент находится по формуле $%k=(y_2-y_1)/(x_2-x_1)$%. Уравнение прямой будет иметь вид $%y=k(x-x_1)+y_1$%. В рассматриваемой примере это будет $%y=-x+0,93$% после упрощений. Тогда в точке $%x=0,86$%, расположенной между $%x_1=0,83$% и $%x_2=0,88$%, значение этой функции будет равно $%0,07$% в соответствии с формулой.

Этот способ хорош тем, что вычисления достаточно простые. Но при этом надо искать местоположение точки в списке. Второй недостаток -- это то, что кусочно-линейная функция может не иметь производной в точках вида $%x_i$%. Если производные не нужны, то кусочно-линейная интерполяция вполне годится. Если желательна готовая аналитическая формула без поиска точки $%x$%, то можно взять за основу интерполяционный многочлен Лагранжа. Для него есть готовые формулы, и в него удобно подставлять числа.

ссылка

отвечен 15 Ноя '13 23:43

to falcao Все работает. Большое спасибо. Как Вас отблагодарить?

(17 Ноя '13 15:12) Alex_QQ

Если предложенный мной способ помог, то это само по себе уже хорошо.

Если Вас устраивает ответ, то его можно принять, нажав на "галочку".

(17 Ноя '13 15:17) falcao
10|600 символов нужно символов осталось
0

Может я не совсем корректно сформулировал задачу. Точки строятся на пересечении координат... Первая точка X=0.93 Y=0.01; вторая - X=0.88 Y=0.05; и т.д. до точки семь с координатами X=0.5 Y=10. График строится от точки 1 к точке 7 через все точки. Интересует вычисление координаты X от переменной Y в диапазоне графика, точность два знака после запятой.

ссылка

отвечен 15 Ноя '13 1:39

То, что точки строятся на пересечении координатных линий, это понятно. Но вот представьте теперь, что Вы нарисовали 7 точек, которые Вам даны. Через эти точки можно провести бесконечно много линий. Каждая из таких линий может быть графиком какой-то из функций. Поэтому в условии должны быть ограничения. Надо уточнить постановку задачи.

(15 Ноя '13 2:03) falcao

В математической статистике есть такие задачи: расставить точки, определить при мерный вид кривой и методом наименьших квадратов определить коэффициенты этой кривой. Скорей всего эта задача, простая, но считать много

(15 Ноя '13 14:06) epimkin

К сожалению не обладаю необходимыми знаниями для проведения расчетов. Формула нужна для вычисления значения X от значения Y в программе на Java. В принципе проблема решаема с применением логических функций, но получается много кода, что увеличивает время работы скрипта. Хотелось бы увидеть математическую формулу. Готов отблагодарить за труды материально.

(15 Ноя '13 15:51) Alex_QQ

если что-то типа МНК, то можно посмотреть здесь: http://stackoverflow.com/questions/14608998/compute-least-squares-using-java

(15 Ноя '13 20:02) vinger4

@Alex_QQ: здесь речь идёт не о методах решения, а о постановке задачи. Её ставите Вы, поэтому необходимые требования должны от Вас же и исходить. Если Вам подходит любая функция, принимающая заданные значения в указанных точках, то можно просто соединить точки графика отрезками, получив кусочно-линейную функцию. Если нужна дифференцируемая функция, то подойдёт интерполяционный многочлен Лагранжа. Формулу написать совсем нетрудно -- важно знать, какими свойствами должна обладать итоговая функция. Вы же не будете выбирать значения в других точках случайно?

(15 Ноя '13 20:21) falcao

Да именно кусочно- линейная функция и достаточна.

(15 Ноя '13 20:31) Alex_QQ
показано 5 из 6 показать еще 1
10|600 символов нужно символов осталось
0

$$y =a_1x^{7} + a_2x^{6}+ a_3x^{5} + a_4x^{4} + a_5x^{3} + a_6x^{2} + a_7x$$ Все значения x и y известны. Имеем 7 уравнений с 7-ю неизвестными коэффициентами. Это один из способов выполнения задания, - возможно, не самый оптимальный.

ссылка

отвечен 15 Ноя '13 22:50

Когда точек 7, достаточно многочлена 6-й степени. Ср. ситуацию, когда точек две и мы проводим через них прямую. Ей соответствует степень многочлена не выше первой.

(15 Ноя '13 23:31) falcao

@nikolaykruzh..., Такая задача уже решена... называется интерполяционный многочлен Лагранжа или Ньютона... Потом его можно умножить на любую непрерывную функцию и получить бесконечно много функций с требуемыми свойствами...

(16 Ноя '13 1:05) all_exist

@all_exist: если сам многочлен Лагранжа на что-то умножить, то ответ испортится. Видимо, Вы имели в виду, что к многочлену можно прибавить произведение любой функции $%f(x)$% на произведение $%(x-x_1)\ldots(x-x_n)$%.

(16 Ноя '13 7:34) falcao

@all_exist, спасибо за информацию...@falcao, с замечанием согласен.

(16 Ноя '13 15:27) nikolaykruzh...

@falcao, да, написал не доформулировав ответ до конца...

(16 Ноя '13 18:04) all_exist
10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×3,140

задан
14 Ноя '13 22:00

показан
644 раза

обновлен
17 Ноя '13 15:17

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru