Как построить график любой функции?

197
15 декабря 2016, 16:02

Данная математическая функция(любая), программа должна сама решить её и построить его график. Как решить подобную задачу

Answer 1

@Александр Старцев, сначала нужно произвести простую декомпозицию задачи. Вам требуется следующий функционал (как минимум):

  • Ввод, откуда получается функция
  • Парсер функции
  • Вычислитель значений функции, который работает с выводом парсера и набором произвольных значений
  • Построитель графика
  • Генератор набора значений для графика. Т.к. тут явно не rocket science, самым простым будет просто получить большой набор точек функции без аппроксимации.

Вот на конкретные вопросы по вышеописанным компонентам будет куда легче ответить.

Answer 2

Для произвольной функции -- наверное, за 2 прохода.

На первом вычисляем значения, которые как-то агрегируем и запоминаем.

Потом анализируем, например, диапазон значений и т.п.

Затем читаем запомненные значения и рисуем (конечно, возможен вариант, когда вместо запоминания мы повторно считаем значения).

Answer 3
  int f(x)
  {
     return x*x;
  }
  for(int i=-100; i < 100;i++)
  {
     putPoint(x,f(x))//рисует точку с коорд (x,y)
  }

где f(x) ваша функция. В моём примере это y=x^2; Этот цикл нарисует 100 точек от вашего графика.

Answer 4

Вы не можете построить график произвольной функции.

Подумайте, для примера, как вы реализуете график функции Дирихле.

Answer 5

Я надеюсь, вы не подразумеваете «как написать вольфрам»? Нужна конкретика, для каких функций строить, какова погрешность и т.д. Хотя бы уровень задачи. Если на вход ожидается нечто вроде (x^2 + 1)/x — относительно простые функции — то это одно, если нужен функционал как в маковском графере — с параметрическими и неявными уравнениями, интегрированием и т.п. — то это намного сложнее

READ ALSO
Шестнадцатеричные числа в Си

Шестнадцатеричные числа в Си

Передо мной стоит задача реализовать алгоритм SEAL20

164
Создание формы на основе main.cpp в Qt Creator

Создание формы на основе main.cpp в Qt Creator

Есть код в maincpp, который описывает форму программы

192
Возврат значений из функции

Возврат значений из функции

Скажите, пожалуйста, есть ли какая-то видимая разница в работе 2-х функций?

167
Library not loaded

Library not loaded

Уважаемые форумчане!

234