Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

18 дней назад
Антон
35 лет, Россия
13 лет в сервисе
Был онлайн 18 минут назад
896 отзывов
100% фрилансеров рекомендуют 16% заказов с выбором исполнителя
18 дней назад

Техническое задание на реализацию математических функций
Техническое задание на реализацию математических функций
Требуется разработать мобильное приложение Android, демонстрирующее применение математических функций к выводимым графикам во всём или в выбранном диапазоне с помощью инструмента «Выбор диапазона».
Диаграмма заполняется графиками четырёх функций: y=sin(x), y=2*cos(2.5*x), y=sqrt(x)/2, y=3*rand(), где rand() возвращает псевдослучайное вещественное значение от 0 до 1. Графики строятся по набору точек x от 0 до 50 с шагом 0.1. На диаграмме для всех графиков значения x меняются от 0 до 50, значения y – от -5 до +5.
В интерфейс главного окна добавляется кнопка иконка «Функции». По нажатию этой кнопки появляется диалоговое окно «Применить функцию».

Диалоговое окно содержит элементы, идущие сверху вниз:
• Поле ввода пользовательского названия графика, название может быть, к примеру, «график 1»
• Выпадающий список с математическими функциями (перечислены ниже)
• Скрытое поле ввода с подсказкой (hint) «Степень» или «Количество точек» (появляется, если выбрать пункт «Аппроксимация полиномиальной функцией» или «Скользящее среднее» и скрывается, если выбрать другие пункты)
• Текстовая метка с формулой преобразования (формулы приведены в списке функций после названий)
• Выпадающий список со всеми графиками «f(x)»
• Выпадающий список со всеми графиками «g(x)»
• Поле ввода числового коэффициента A
• Поле ввода числового коэффициента B

Список математических операций:
• Сложение h(x)=A*f(x)+B*g(x)
• Вычитание h(x)=A*f(x)-B*g(x)
• Умножение h(x)=(A*f(x))*(B*g(x))
• Деление h(x)=(A*f(x))/(B*g(x))
• Линейное преобразование h(x)=A*f(x)+B
• Линейная аппроксимация y=A*x+B
• Аппроксимация показательной функцией y=A*exp(B*x)
• Аппроксимация степенной функцией y=A*x^B
• Аппроксимация полиномиальной функцией степени n от 1 до 6 y=A(n)
x^(n)
+ A(n-1) x^(n-1) + A(1) * x + A(0), где A(n)
, A(n-1), ..., A(1), A(0) искомые коэффициенты
• Преобразование Фурье
• Преобразование скользящим средним (количество точек для усреднения меняется от 1 до 20 со значением по умолчанию 5)
• Построение графика первообразной функции (от курсора)
• Построение графика производной функции
• Построение графика второй производной функции
• Построение касательной к графику функции (в точке пересечения графика и курсора)
• Построение статистического распределения

По нажатию на пункт диалога «Построить» диалоговое окно исчезает, вычисляется нужный график. Затем построенный график добавляется к списку графиков и выводится на диаграмме.
При вычислениях, где требуется равномерный шаг по аргументу, например при операциях с двумя функциями или в преобразовании Фурье, выполняется линейная интерполяция значений графиков по аргументам, идущим с одинаковым шагом по времени, задаваемым наибольшей частотой сбора данных. Частота сбора данных для определения шага аргумента берётся из списка каналов.
Ресурсы для выполнения задания
Все ресурсы находятся в папке «Материалы для выполнения заданий», доступной по ссылке yadi.sk/d/F7EUx6_RRQWHiQ .
Для реализации математических функций можно использовать библиотеку Commons Math, расположенную в архиве commons math3-3.6.1-bin.zip.

Ссылка на библиотеку Commons Math:
commons.apache.org/proper...

  1. Прием заявок
  2. Выбор исполнителя
  3. Выполнение заказа
  4. Обмен отзывами
Заявки фрилансеров
2 заявки от фрилансеров

Посмотреть заявки можно будет после закрытия заказа.

Другие заказы в категории «Прикладное ПО»

Здесь заказчик и фрилансеры могут обсуждать заказ до начала его выполнения.
Фрилансеры могут участвовать в обсуждении только после подачи заявки.
Здесь заказчик будет контролировать выполнение заказа и общаться с исполнителем.
Доступ к этому разделу имеют только заказчик и выбранный исполнитель.
Все материалы этого раздела закрыты от поисковых систем.