Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Alex2502
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 47
#1

Найти корни уравнений - C#

31.05.2016, 16:17. Просмотров 597. Ответов 25
Метки нет (Все метки)

Прошу Вас помочь с написанием программки, учусь заочно, поэтому мне никто не объяснит. Моя проблема в том, что я не умею находить в С# корни уравнений.

Напечатать в порядке возрастания корни уравнений 1/(1+x^2)=x, 3e^x+x=0 u x*ln(1+x)=0.5,
вычисленные с заданной точностью ε > 0, и вывести их на график в виде гистограммы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2016, 16:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти корни уравнений (C#):

Напечатать в порядке возрастания корни уравнений - C#
В общем если есть возможность содействия в решении 2х задач.. 1) В данном массиве целых чисел найти и вывести все те числа, цифры...

Создать программу для решения квадратных уравнений, учесть корни, есть ли они - C#
Создать программу для решения квадратных уравнений, учесть корени, есть ли они

Имеет ли решение система уравнений? Если имеет - найдите корни (Pascal -> C#) - C#
Определите, имеет ли решение система ax+by=c, dx+ey=f Если имеет, найдите корни. uses crt; var a,b,c,d,e,f:real; begin clrscr; ...

Найти корни уравнения - C#
Здравствуйте, форумчане. Пытаюсь отсеить корни в следующем задании: sin(x) = 2006 * x. Насколько я понял должно быть 3 корня,...

Найти корни уравнения - C#
Здравствуйте, форумчане. Возникла проблема при решении уравнения, а, именно, нужно, чтобы Y выдавал только целые числа. Вот код: ...

Найти корни квадратного уравнения - C#
помогите пожалуйста, ax^2+bx+c =0 нужно найти x1 и x2. искал на форуме, нигде не нашел нужного мне ответа :(

25
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
31.05.2016, 19:55 #2
Методом Ньютона-Рафсона
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
   class Program
    {
        public delegate double Function(double x);
        public static double NewtonRaphsonMethod(Function f, Function fprime, double x0, double epsilon)
        {
            double f0 = f(x0);
            double x = x0;
            while (Math.Abs(f(x)) > epsilon)
            {
                x -= f0 / fprime(x);  // fprime(x) - производная f(x)
                f0 = f(x);
            }
            return x;
        }
 
        static double F1(double x)
        {
            return 1.0 / (1.0 + x * x) - x;
        }
        static double F1prime(double x)  // производная F1
        {
            return -2.0 * x;
        }
 
        static double F2(double x)
        {
            return 3.0 * Math.Exp(x) + x;
        }
        static double F2prime(double x)    // производная F2
        {
            return 3.0 * Math.Exp(x) + 1.0;
        }
 
        static double F3(double x)
        {
            return x * Math.Log(1+x) - 0.5;
        }
        static double F3prime(double x)    // производная F3
        {
            return 1.0 / x;
 
        }
 
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("\n\nF1\n");
                double x = NewtonRaphsonMethod(F1, F1prime, 1.0, 0.0001);
                Console.WriteLine("Solution from the Newton-Raphson method: " + x.ToString());
                Console.WriteLine("Solution confirmation: f(x) = " + F1(x).ToString());
                Console.WriteLine();
 
                Console.WriteLine("\n\nF2\n");
                 x = NewtonRaphsonMethod(F2, F2prime, 1.0, 0.0001);
                Console.WriteLine("Solution from the Newton-Raphson method: " + x.ToString());
                Console.WriteLine("Solution confirmation: f(x) = " + F2(x).ToString());
                Console.WriteLine();
 
                Console.WriteLine("\n\nF3\n");
                 x = NewtonRaphsonMethod(F3, F3prime, 1.0, 0.0001);
                Console.WriteLine("Solution from the Newton-Raphson method: " + x.ToString());
                Console.WriteLine("Solution confirmation: f(x) = " + F3(x).ToString());
                Console.WriteLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Fatal error: " + ex.Message);
                Console.ReadLine();
            }
        }
    }
0
Alex2502
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 47
31.05.2016, 20:11  [ТС] #3
Спасибо большое, буду разбираться

Добавлено через 3 минуты
Я конечно наглею, но можно добавить более подробное описание к созданию гистограммы, хочу разобраться, как это работает
0
Psilon
Master of Orion
Эксперт .NET
5935 / 4834 / 636
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
31.05.2016, 20:15 #4
Alex2502, вот описание метода:https://ru.wikipedia.org/wiki/%D0%9C...BE%D0%BD%D0%B0

Собственно в коде выше легко увидеть формулу xn+1 = xn - f(x)/f'(x)
0
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
31.05.2016, 20:17 #5
Alex2502, я сам не понял что за гистограмма имеется ввиду и ничего в этом плане не делал.
Тут представлено исключительно нахождение корней трех функций
0
Psilon
Master of Orion
Эксперт .NET
5935 / 4834 / 636
Регистрация: 10.07.2011
Сообщений: 14,439
Записей в блоге: 5
Завершенные тесты: 4
31.05.2016, 20:21 #6
afront, у вас кстати не рафсон, а самый оригинальный метод
0
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
31.05.2016, 20:28 #7
Psilon, да какая разница)) если честно то я несколько путаюсь в этих названиях
0
Alex2502
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 47
31.05.2016, 20:32  [ТС] #8
таак я начинаю путаться, это точно Рафсон?
0
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
31.05.2016, 20:36 #9
Alex2502, это точно Ньютон ну и может быть Рафсон))

Добавлено через 2 минуты
https://ru.wikipedia.org/wiki/%D0%9C...BE%D0%BD%D0%B0
http://www.machinelearning.ru/wiki/i...E%D0%BD%D0%B0)
0
Alex2502
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 47
01.06.2016, 13:20  [ТС] #10
Сложноватый метод Ньютона, для самообучения, осталось построить график в виде гистограммы, из полученных корней))

Добавлено через 16 часов 11 минут
Я могу взять F1,F2,F3 и использовать их дальше для построения гистограммы, ведь, как я понял они и являются корнями уравнений?
0
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
01.06.2016, 13:37 #11
Конечно можете, это и есть корни уравнений, нужно только запомнить значения х после каждого решения

Добавлено через 8 минут
"Я могу взять F1,F2,F3" - нужно брать х1, х2, х3 т.к. F1,F2,F3 равно нулю
0
Alex2502
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 47
01.06.2016, 13:48  [ТС] #12
Т.е. вручную ввести значения получившихся корней, и ещё, зачем мы выводим Solution confirmation, как я понял это проверочное решение
0
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
01.06.2016, 13:53 #13
Это проверка решения
0
afront
1047 / 993 / 374
Регистрация: 29.02.2016
Сообщений: 3,185
01.06.2016, 14:23 #14
Alex2502, сделал гистограмму, правда кривовата))
0
Вложения
Тип файла: rar график.rar (21.8 Кб, 1 просмотров)
Alex2502
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 47
02.06.2016, 00:57  [ТС] #15
C#
1
2
3
4
5
6
7
8
 static double F1(double x)
        {
            return 1.0 / (1.0 + x * x) - x;
        }
        static double F1prime(double x)  // производная F1
        {
            return -2.0 * x;
        }
вы не могли бы добавить описание, что происходит в данной части

Добавлено через 46 секунд
C#
1
 double x = NewtonRaphsonMethod(F1, F1prime, 1.0, 0.0001);
и что за значение 1.0 и 0.0001
0
02.06.2016, 00:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2016, 00:57
Привет! Вот еще темы с ответами:

Найти корни квадратного уравнения - C#
Помогите с решением вопросов для экзамена. Спасибо! Дано квадратное уравнение ax^2+bx+c=0, где a,b,c – действительные числа. Выяснить...

Найти все целые корни уравнения - C#
Найти все целые корни уравнения ax^3 + bx^2 + cx + d, где a, b, c, d заданные целые числа, причем a != 0 и d != 0.(Целыми корнями могут...

Найти корни функции методом Ньютона - C#
Мне нужна написать програму... Найти корени функции методом нютона... Помогите плиз, не успеваю...(((

Найти все целые корни уравнения - C#
Найти все целые корни уравнения ax^3 + bx^2 + cx + d, где a, b, c, d заданные целые числа, причем a != 0 и d != 0.(Целыми корнями могут...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru