Лабораторная работа №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.


Вернуться к теории