Вычислить и вывести на экран значения функции, заданной с помощью ряда Тейлора - C (СИ)
Формулировка задачи:
Если кто поможет буду очень благодарен!
Решение задачи: «Вычислить и вывести на экран значения функции, заданной с помощью ряда Тейлора»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> double func(double x, double eps, int *iter); int main(int argc, char **argv) { double x; /* аргумент функции */ double rr = 0; /* результат вычисления функции */ double x1 = 1; /* начало интервала */ double x2 = 5; /* конец интервала */ double dx = 1; /* шаг */ double eps = 0.01; /* точность */ int iter = 0; /* итерации -- количество слогаемых */ printf("\n| Аргумент X | arth(x) | Кол-во членов |\n"); for (x = x1; x <= x2; x += dx) { /* циклом проходим по всему заданному диапазону */ rr = func(x, eps, &iter); printf("| %5.2f | %16.13f | %5d |\n", x, rr, iter); } /* x = 60; */ /* rr = func(x, eps, &iter); */ /* printf("| %5.2f | %16.13f | %5d |\n", x, rr, iter); */ return EXIT_SUCCESS; } double func(double x, double eps, int *n) { double lastresult, result; lastresult = 0; do { result = lastresult; lastresult = 1 / ((2 * *n + 1) * pow(x, 2* *n + 1)); (*n)++; /* вычисляем пока разница не станет меньше точности */ } while (fabs(lastresult - result) >= eps); return lastresult; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O, математикой и стандартным вводом/выводом
- Определяем функцию
func
, которая принимает три аргумента:x
,eps
иiter
. Значение функции вычисляется с помощью ряда Тейлора - В функции
main
определяем переменные:x
,rr
,x1
,x2
,dx
,eps
иiter
. Задаем начальные значения и шаги для переменнойx
и инициализируем переменнуюiter
нулем - С помощью цикла
for
проходим по всему заданному диапазону значенийx
. На каждой итерации вызываем функциюfunc
и сохраняем результат в переменнуюrr
. Затем выводим значенияx
,rr
иiter
на экран - В функции
func
инициализируем переменнуюlastresult
нулем. Затем с помощью циклаdo...while
вычисляем значение функции до тех пор, пока разница междуlastresult
иresult
не станет меньше заданной точностиeps
- Возвращаем окончательное значение
lastresult
из функцииfunc
- В функции
main
комментируем строки кода, которые позволяют вычислить значение функции для аргументаx = 60
и установить значениеiter = 1
- Завершаем программу с помощью
return EXIT_SUCCESS
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д