Определение значений функции с использованием ряда Тейлора
Вычисление и вывод таблицы значений функции с использованием ряда Тейлора. Разработка программы по вычислению заданной функции. Отражение в таблице значения аргумента и количество просуммированных членов ряда. Реализация проверки корректности ввода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 23.06.2024 |
Размер файла | 50,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.Allbest.Ru/
Лабораторная работа
Тема:
Определение значений функции с использованием ряда Тейлора
Задание
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от х до х с шагом dx с точность e. Таблица снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значения аргумента, значение функции и количество просуммированных членов ряда.
Решение
Для решения задания необходимо разработать программу по вычислению заданной функции. Программа должна запрашивать данные в консоли у пользователя. Так же должна быть реализована проверка корректности ввода. В случае некорректного ввода программа должна запросить повторный ввод. Так же должны быть реализованы следующие ограничения на значения переменных:
Вычисление значение функции осуществляется в цикле до тех пор, пока значение члена ряда больше заданной погрешности. Вычисление функции удобно реализовать в отдельной функции. Так же для возвращения из функции значения и числа слагаемых удобно создать отдельный класс с двумя полями - значение y и n. Объект данного класса будет возвращаться из функции по вычислению значения функции.
Вывод результатов представлен в таблице, в которой выводится значение X, Y, N, а также истинное значение функции для проверки точности вычисления.
Тестирование
Листинг
программа функция ряд тейлор таблица аргумент
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Teilor
{
class Program
{
static void Main(string[] args)
{
double y = 0, x = 0, x0 = 0, xn = 0, dx = 0;
double eps = 0;
while (true)
{
try
{
Console.Write("Введите x0: ");
x0 = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
Console.Write("Введите xn: ");
xn = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
Console.Write("Введите dx: ");
dx = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
Console.Write("Введите eps: ");
eps = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
}
catch
{
Console.WriteLine("Некорректное значение. Повторите ввод");
continue;
}
if (x0 <= 0)
{
// некорректное значение x0
Console.WriteLine("Некорректное значение x0. Число не может быть <=
0. Повторите ввод");
continue;
}
if (xn <= 0)
{
// некорректное значение xn
Console.WriteLine("Некорректное значение xn. Число не может быть <=
0. Повторите ввод");
continue;
}
if (x0 > xn)
{
// начало интервала правее конца
Console.WriteLine("Некорректное значение xn и x0. Левая граница
интервала не может быть больше правой границы. Повторите ввод");
continue;
}
if (dx <= 0)
{
// некорректный шаг интервала
Console.WriteLine("Некорректное значение dx. Шаг не может быть <=
0. Повторите ввод");
continue;
}
if (eps <= 0)
{
// некорретное значение точности
Console.WriteLine("Некорректное значение eps. Точность не может
быть <= 0. Повторите ввод");
continue;
}
break;
}
x = x0;
Console.WriteLine("\tX\t|\tY\t|\tN\t|\tln(x)");
while (x <= xn)
{
Data data = f(x, eps);
Console.Write($"\t{x:f1}\t|");
Console.Write($"\t{data.y:f1}\t|");
Console.Write($"\t{data.n}\t|");
Console.Write($"\t{Math.Log(x):f1}\t|\n");
x += dx;
}
Console.ReadLine();
}
static Data f(double x, double eps)
{
Data data = new Data();
double y = 0;
double val = eps + 1;
int i = 0;
for(i = 0; Math.Abs(val) > eps; i++)
{
int ind = 2 * i + 1;
double a = Math.Pow(x - 1, ind);
double b = ind * Math.Pow(x + 1, ind);
val = a / b;
y += val;
}
data.y = 2 * y;
data.n = i;
return data;
}
class Data
{
public double y = 0;
public int n = 0;
}
}
}
Размещено на Allbest.Ru
Подобные документы
Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.
контрольная работа [1,6 M], добавлен 06.08.2013Расчет и построение таблицы значений функции (протабулирование функции) при различных значениях аргумента. Нахождение наибольшего и наименьшего значений функции на отрезке и построение графика. Рабочий лист Excel в режимах отображения значений и формул.
контрольная работа [30,0 K], добавлен 27.05.2010Разбиение задачи на несколько более простых подзадач. Вычисление логарифма с использованием ряда Тейлора при небольших значениях. Функция поиска строки с максимальной суммой. Создание дополнительной функции. Процедура печати строки с максимальной суммой.
контрольная работа [171,0 K], добавлен 17.08.2013Табличный вывод значений суммы ряда и номера последнего элемента суммы в зависимости от значений величин входных параметров с применением операторов ветвления и циклов. Блок-схема алгоритма решения. Время работы программы для расчета одного значения.
контрольная работа [762,9 K], добавлен 14.05.2013Составление программы для вычисления по двум формулам одной и той же переменной "X". Создание программы, которая по введенному значению аргумента вычислят значение функции, заданной в виде графика. Вывод на экран значения функции, заданной графически.
курсовая работа [4,9 M], добавлен 14.03.2014Вычисление значения интеграла функции, заданной графически. Постановка задач. Составление таблицы значений функции, заданной в виде разложения в ряд. Математическая формулировка. Численный метод решения. Схемы алгоритмов. Инструкции пользователям.
курсовая работа [56,3 K], добавлен 05.07.2008Интерполяция данных с использованием значений функции, заданной множеством точек, для предсказания значения функции между ними. Результаты линейной интерполяции в графическом виде. Кубическая сплайн-интерполяция. Функции для поиска вторых производных.
презентация [2,7 M], добавлен 29.09.2013Расчет специализированного вычислителя тригонометрических функций, основанное на разложении ряда Тейлора с использованием чисел Бернулли. Код программы вычисления на языке С++. Граф-схема алгоритма. Схематическое представление входов и выходов проекта.
курсовая работа [1,8 M], добавлен 29.12.2012Разработка алгоритма, представление его в виде блок-схемы. Программа для табулирования функции. Ввод и вывод данных с рабочего листа MS Excel. Ввод данных через диалоговое окно, вывод результатов на рабочий лист MS Excel. Вычисление суммы членов ряда.
контрольная работа [329,7 K], добавлен 16.10.2013Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.
контрольная работа [148,1 K], добавлен 08.11.2013