‹-- Назад

Третий способ задания функции: указание процедуры вычисления

Во многих случаях функцию $ f$ приходится задавать сложным образом, так как предыдущие способы задания функций не годятся. Приведём такой пример.

        Пример 1.17   Пусть $ a\in\mathbb{R}$ и $ f(a)$ -- это наибольший корень $ x_{\max}$ уравнения $ ax^4+2x^2-3ax+a^2=0$. Этим условием задаётся некоторая функция $ f:a\mapsto x_{\max}$. Её область определения $ \mathcal{D}(f)$ не пуста, так как, например, при $ a=0$ получается уравнение $ 2x^2=0$, у которого имеется единственный корень $ x_{\max}=0$, так что $ f(0)=0$ и, следовательно, $ 0\in\mathcal{D}(f)$. Однако ни выразить значение $ f(a)$ формулой или иным "конечным" образом, ни полностью описать область определения $ \mathcal{D}(f)$ функции $ f$ не удаётся. В этом случае, однако, для задания функции $ f$ возможно указание некоторой процедуры вычисления её значений $ f(a)$, которую можно реализовать в виде компьютерной программы. Эта процедура станет по каждому конкретно заданному значению $ a=a_0$ определять значение $ x_{\max}=f(a_0)$ либо указывать, что исходное уравнение не имеет корней, то есть что $ a_0$ не принадлежит $ \mathcal{D}(f)$.

Изменяя число $ a$ в некотором диапазоне, можно найти соответствующие значения $ f(a)$ с заданной наперёд точностью2 и, например, построить график $ y=f(a)$ по точкам.     

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

Если числовая функция $ f(x)$, где $ x\in A\sbs\mathbb{R}$, реализуется в виде компьютерной процедуры, то строить график этой функции проще всего по точкам, то есть перебирая с некоторым шагом точки $ x_k\in A$, $ k=1,\dots,N$, и нанося на координатную плоскость $ xOy$ точки вида $ (x_k;f(x_k))$ и, быть может, для наглядности соединяя отрезками пары соседних точек. Этот способ, несмотря на свою подозрительную простоту, -- вполне возможный (а может быть, и единственно реальный) способ построения графика при отсутствии какой-либо удобной формулы, выражающей значения $ f(x)$ через $ x$.

Следует иметь в виду, что процедура, выдающая значения функции $ f(x)$ по заданным $ x$, делает это, как правило, лишь приближённо, да и сами значения аргумента $ x$ часто также оказываются заданными приближённо. Если точность вычислений в какой-либо задаче очень важна, то следует проделать анализ возможной погрешности в значении $ f$, вызванной тремя причинами:

а) приближённостью задания переменного $ x$ (погрешностью аргумента);

б) приближённостью способа получения значения $ f(x)$ (погрешностью метода);

в) приближённостью выполнения арифметических действий при вычислениях по программе, реализующей метод на компьютере (погрешностью вычислений).

Тщательный анализ погрешности обычно бывает провести гораздо сложнее, чем разработать сам алгоритм вычисления $ f(x)$. Если же такой анализ не проводится, то о точности произведённых вычислений судят по косвенным признакам: "хорошо ли ведёт себя" полученный график $ y=f(x)$, согласуется ли он с интуитивными представлениями о том, как выглядит процесс, описываемый функцией $ f$, и по другим косвенным признакам.

Подробнее об анализе погрешностей можно прочитать в книгах: Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров. -- М.: Высш. шк., 1994; Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. -- М.: Наука, 1987; Рябенький В.С. Введение в вычислительную математику. -- М.: Наука, 1994, а также других учебниках по приближённым методам вычислений.