Лабораторная работа №8
Табулирование функции
Табулирование функции — вычисление значений функции в зависимости от аргумента, который меняется в определенных интегралах с постоянным шагом.
Задача табулирования функции состоит в следующем: требуется получить значения функции y=f(x) для аргумента x, меняющегося в интервале от xmin до xmax с шагом ∆x.
Рис.18 |
На рисунке 18 приведен алгоритм решения задачи табулирования функции, с использованием цикла с предусловием. Число повторений цикла, необходимое для решения поставленной задачи, можно определить по формуле:
где квадратные скобки означают функцию взятия целой части от заключенного в них выражения. |
Решение нулевого варианта
Задача. Протабулировать функцию y=(x2+1)sin(5x) на множестве значений аргумента от 0 до 5 с шагом его изменения равным 0,5.
Введем обозначения: максимальное значение аргумента xmax=5, минимальное значение аргумента xmin=0, шаг изменения аргумента dx=0,5.
Согласно алгоритму на рисунке 18, реализуем программу табулирования функции y=(x2+1)sin(5x) с помощью цикла с предусловием. Для вычисления значений функции требуется подключить математическую библиотеку.
Так как табулирование функции предполагает вывод пары значений x и y, организуем «таблицу», состоящую из двух столбцов — значений аргумента и соответствующих им значений функции. Для этого воспользуемся управляющими последовательностями (см. таблицу 3), а именно горизонтальной табуляцией. Между значением x и y будет стоять вертикальная черта. Каждая новая пара значений x и y будет выводится на новой строке.
Запись x+=dx эквивалентна записи x=x+dx.
Текст программы:
#include "stdafx.h"
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{int xmax=5,xmin=0; float dx=0.5;
cout<<"\n\tx\t\ty\n";
float x=xmin;
while (x<=xmax) {cout<<'\t'<<x<<"\t|\t"<<(x*x+1)*sin(3*x)<<"\t|\n";
x+=dx;}
system("pause");
return 0;}
Задания для самостоятельного выполнения:
Выполнить табулирование одного из вариантов функций на множестве значений аргумента от 0 до 5 с шагом его изменения равным 0,5.