Определение значений функции с использованием ряда Тейлора

Вычисление и вывод таблицы значений функции с использованием ряда Тейлора. Разработка программы по вычислению заданной функции. Отражение в таблице значения аргумента и количество просуммированных членов ряда. Реализация проверки корректности ввода.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.