Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 0
Регистрация: 22.11.2020
Сообщений: 136

Вычисление arth(x) разложением в ряд Тейлора

24.10.2022, 01:43. Показов 904. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вычислить и вывести на экран в виде таблицы значение функции, заданной
с помощью ряда Тейлора, на интервале от х нач(начало) до х кон(конец) с шагом dх с точню е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна
содержать значение аргумента, значение функции и количество суммированных членов
ряда

https://www.cyberforum.ru/cgi-bin/latex.cgi?arth\left(x \right)=\sum_{n=0}^{\infty}\frac{1}{\left(2n+1 \right)x^{2n+1}}=\frac{1}{x}+\frac{1}{3x^3}+\frac{1}{5x^5}+\dots\;,\;\left|x \right|\gt 1
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2022, 01:43
Ответы с готовыми решениями:

Ряд Тейлора: arth(x). Проверить код на корректность
Можете проверить код на корректность, а то меня терзают смутные сомнения. Заранее спасибо! ...

Ряды Тейлора: вычисление arth(x)
arth\left(x \right)=\sum_{n=0}^{\infty}\frac{1}{\left(2n+1...

Ряды Тейлора: arth(x)
Вычислить и вывести на экран в виде таблицы значение функции, заданной с помощью ряда Тейлора, на...

3
48 / 27 / 21
Регистрация: 26.11.2021
Сообщений: 62
24.10.2022, 10:58
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
amespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.Write("Введите значение x = ");
            double x = double.Parse(Console.ReadLine());
            Console.Write("Введите значение e = ");
            double e = double.Parse(Console.ReadLine());
 
            double result = 0;
            double val;
            int n = 0;
            double numerator, denominator;
            Console.WriteLine("|\tArgument\t|\tFunction\t|\tn\t|");
            do
            {
                numerator = 1;
                denominator = (2*n + 1)*Math.Pow(x,2*n + 1);
                val = numerator/denominator;
                result += val;
                for (int i = 0; i < 65; i++)
                {
                    Console.Write("-");
                    if (i == 64) Console.WriteLine();
                }
                Console.WriteLine($"|\t{val : 0.00000}\t|\t{result : 0.00000}\t|\t{n+1,-5}\t|");
                n++;
            } while (Math.Abs(val) > e);
 
        }
    }
}
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2926 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
24.10.2022, 14:39
Цитата Сообщение от serjas Посмотреть сообщение
for (int i = 0; i < 65; i++)
Цитата Сообщение от serjas Посмотреть сообщение
if (i == 64)
Не понятно откуда числа 64 и 65 ?

--------------------------------------
Sonya2456, попробуйте:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
namespace ConsoleApp6
{
    class Program
    {
        static void Main(string[] args)
        {
            double xn, xk;
            do
            {
                Console.Write("xn = ");
                xn = double.Parse(Console.ReadLine());
                Console.Write("xk = ");
                xk = double.Parse(Console.ReadLine());
            } while (xn > xk || Math.Abs(xn) <= 1.0 || Math.Abs(xk) <= 1.0);
            Console.Write("dx = ");
            double dx = double.Parse(Console.ReadLine());
            Console.Write("e = ");
            double e = double.Parse(Console.ReadLine());
 
            Console.WriteLine("x\ty\tn");
            for (double x = xn; x <= xk + 1e-10; x += dx)
            {
                double a = 1 / x, u = a, y = u;
                int n = 0;
                while (u < -e || e < u)
                {
                    n++;
                    a /= x * x;
                    u = a / (2 * n + 1);
                    y += u;
                }
                Console.WriteLine("{0,0:F2}\t{1,0:F4}\t{2}", x, y, n);
            }
 
            Console.ReadLine();
        }
    }
}
И тест работы:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
xn = 2
xk = 10
dx = 0.5
e = 0.00001
x       y       n
2.00    0.5493  6
2.50    0.4236  5
3.00    0.3466  4
3.50    0.2939  4
4.00    0.2554  3
4.50    0.2260  3
5.00    0.2027  3
5.50    0.1839  3
6.00    0.1682  3
6.50    0.1551  3
7.00    0.1438  3
7.50    0.1341  2
8.00    0.1257  2
8.50    0.1182  2
9.00    0.1116  2
9.50    0.1057  2
10.00   0.1003  2
0
48 / 27 / 21
Регистрация: 26.11.2021
Сообщений: 62
24.10.2022, 16:34
Лучший ответ Сообщение было отмечено Sonya2456 как решение

Решение

Volga_, та, это я таким кустарным образом формировал горизонтальные границы таблицы) Баловство
Я заметил что я задачу неправильно решил =(
На всякий случай приложу свое решение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
 
            Console.Write("Введите значение x0 = ");
            double xn = double.Parse(Console.ReadLine());
            Console.Write("Введите значение xk = ");
            double xk = double.Parse(Console.ReadLine());
            Console.Write("Введите значение dx = ");
            double dx = double.Parse(Console.ReadLine());
            Console.Write("Введите значение e = ");
            double e = double.Parse(Console.ReadLine());
 
            double result = 0;
            double val;
            int n = 0;
            double numerator, denominator;
            Console.WriteLine("|\tx\t|\tFunction\t|\tn\t|");
            for (double i = xn; i <= xk; i+= dx)
            {
                do
                {
                    numerator = 1;
                    denominator = (2 * n + 1) * Math.Pow(i, 2 * n + 1);
                    val = numerator / denominator;
                    result += val;
                    n++;
                } while (Math.Abs(val) > e);
                
 
 
                for (int j = 0; j < 57; j++)
                {
                    Console.Write("-");
                    if (j == 56) Console.WriteLine();
                }
                Console.WriteLine($"|\t{i: 0.00}\t|\t{result: 0.00000}\t|\t{n + 1,-5}\t|");
                n = 0;
                result = 0;
            }
        }
    }
}
Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Введите значение x0 = 2
Введите значение xk = 10
Введите значение dx = 0.5
Введите значение e = 0.00001
|       x       |       Function        |       n       |
---------------------------------------------------------
|        2.00   |        0.54930        |       8       |
---------------------------------------------------------
|        2.50   |        0.42365        |       7       |
---------------------------------------------------------
|        3.00   |        0.34657        |       6       |
---------------------------------------------------------
|        3.50   |        0.29389        |       6       |
---------------------------------------------------------
|        4.00   |        0.25541        |       5       |
---------------------------------------------------------
|        4.50   |        0.22599        |       5       |
---------------------------------------------------------
|        5.00   |        0.20273        |       5       |
---------------------------------------------------------
|        5.50   |        0.18386        |       5       |
---------------------------------------------------------
|        6.00   |        0.16824        |       5       |
---------------------------------------------------------
|        6.50   |        0.15508        |       5       |
---------------------------------------------------------
|        7.00   |        0.14384        |       5       |
---------------------------------------------------------
|        7.50   |        0.13413        |       4       |
---------------------------------------------------------
|        8.00   |        0.12566        |       4       |
---------------------------------------------------------
|        8.50   |        0.11819        |       4       |
---------------------------------------------------------
|        9.00   |        0.11157        |       4       |
---------------------------------------------------------
|        9.50   |        0.10565        |       4       |
---------------------------------------------------------
|        10.00  |        0.10034        |       4       |
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2022, 16:34
Помогаю со студенческими работами здесь

Вывести на экран в виде таблицы значения функции arth(x), заданной с помощью ряда Тейлора
Народ помогите разобраться с C#. Начал его изучать, но не могу до конца понять как правильно...

Вычисление функции с разложением в ряд Тейлора
Ребят, помогите с задачкой! Звучит она так: Напишите программу, которая вычилсяет и выводит на...

Вычисление/табулирование функции ln(x) разложением в ряд Тейлора
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на...

Вычисление значения функции заданной разложением ln(1-x) в ряд Тейлора
Помогите пожалуйста. НЕОБХОДИМО НАПИСАТЬ НА С# Задание. Вычислить и вывести на экран в виде...

Есть ли в C# вычисление arth (гиперболический арктангенс)?
У класса Math. я его не нашёл, но по заданию (в консольном приложении )мне нужно его использовать....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru