-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,770
1
.NET 4.x

Метод Ньютона для решения нелинейных уравнений

06.09.2018, 21:40. Показов 2828. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите написать код для решения уравнений данным методом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2018, 21:40
Ответы с готовыми решениями:

Метод Ньютона для решения нелинейных уравнений
В общем, помогите составить программу в Win.Form для решения нелинейных уравнений методом Ньютона....

Решение нелинейных уравнений методом Ньютона и методом половинного деления
Добрый день! Помогите, пожалуйста, соединить код программы с кнопкой метода половинного деления...

Метод Ньютона для решения нелинейных уравнений
Решить нелинейное уравнение методом касательных с подстановкой по Δх; Результат проверить...

Метод Ньютона для решения нелинейных уравнений
Вот собственно задача: Найти ближайший к точке x=0 корень уравнения с точностью . Используя...

5
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
07.09.2018, 11:53 2
"Метод Ньютона для решения нелинейных уравнений"
Думаете, что все кинутся решать такую задачу. Там могут быть миллионы вариантов.
Так что нужно конкретно указать начальные условия.
0
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,770
07.09.2018, 12:01  [ТС] 3
zna926, У меня есть код я не въеду куда его вставить в
C#
1
Form1_Load
или куда (я туплю)

Кликните здесь для просмотра всего текста
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
73
74
75
76
77
78
private delegate double FuncDeleg(double x);
 
        static double Func1(double x)
        {
            return x* Math.Log10(x+3.0)-1.0;
        }
 
        static double Func1_derivative(double x)
        {
            return Math.Log10(x + 3.0) + x / ((x + 3.0) * Math.Log(10));
        }
 
        static double Func2(double x)
        {
            return Math.Pow(x, 3.0) + Math.Pow(x, 2.0) + 2.0 * x + 3.0;
        }
 
        static double Func2_derivative(double x)
        {
            return 3 * Math.Pow(x, 2.0) + 2.0 * x + 2.0;
        }
 
        static double Newton(double x, double eps, FuncDeleg func, FuncDeleg func_derivative)
        {
            double y = x;
            x = x - func(x) / func_derivative(x);
 
            if (Math.Abs(y - x) >= eps)
            {
                return Newton(x, eps, func, func_derivative);
            }
            else
            {
                return x;
            }
        }
 
        static double HalfInterval(double a, double b, double eps, FuncDeleg func)
        {
            var fa = func(a);
            var fb = func(b);
            double c;
            if (Math.Abs(fa) < eps)
                c = a;
            else if (Math.Abs(fb) < eps)
                c = b;
            else if (fa * fb > 0)
                return b + 1;
            do
            {
                c = (a + b) / 2.0;
                var fc = func(c);
                if (Math.Abs(func(c)) < eps) break;
                if (fa * fc > 0) { a = c; }
                else b = c;
            } while ((b - a > eps) && (fa * fb < 0));
 
            return c;
        }
 
        private void CalculateBtn_Click(object sender, EventArgs e)
        {
            FuncDeleg f1 = new FuncDeleg(Func1);
            FuncDeleg f1a = new FuncDeleg(Func1_derivative);
            Func1Lbl.Text = $"X1 = {Newton(0, 0.01, Func1, Func1_derivative)}";
            Func2Lbl.Text = $"X2 = {Newton(0, 0.01, Func2, Func2_derivative)}";
            f1 = Func2;
            f1a = Func2;
            HFunc1Lbl.Text = $"X1 = {HalfInterval(0, 10, 0.01, Func1)}";
            HFunc2Lbl.Text = $"X2 = {HalfInterval(-10, 10, 0.01, Func2)}";
            
            for (int i = 0; i < 20; i++)
            {
                Chart1.Series[0].Points.AddXY(i, Func1(i));
                Chart1.Series[1].Points.AddXY(i-9, Func2(i-9));
            }
            CalculateBtn.Enabled = false;
        }


Мне нужно только к моим функциям его применить

У меня задание
Создать приложение позволяющее решать методом Ньютона и методом половинного деления нелинейные уравнения, а также выполнять графическое построение графиков этих уравнений с помощью элемента управления Chart. При выполнении задания обязательно пользоваться делегатами. Предусмотреть проверку корректности ввода исходных данных в приложение и обработку исключительных ситуаций. Создать в приложении справочную систему
Миниатюры
Метод Ньютона для решения нелинейных уравнений  
0
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,770
07.09.2018, 12:44  [ТС] 4
zna926, SeIZVeIZ,
Миниатюры
Метод Ньютона для решения нелинейных уравнений  
0
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,770
07.09.2018, 12:57  [ТС] 5
zna926, SeIZVeIZ Там же начало кода должно же вроде еще быть using .....итд или он не в Form1.cs должен вставляться?
0
548 / 479 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
07.09.2018, 23:51 6
Когда открываете форму, там будут все неоходимые элеметы using, form_load....
Могу только подсказать: в интере есть много статей "Метод Ньютона для решения систем нелинейных урвнений"
В Вашем случае есть система двух нелинейных ураненений
0
07.09.2018, 23:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2018, 23:51
Помогаю со студенческими работами здесь

Метод Ньютона (Метод касательных) для решения нелинейных уравнений
Преподаватель дал задание: Реализовать метод ньютона для решения нелинейных уравнений. Пробежался...

Метод Ньютона для решения систем нелинейных уравнений
Необходимо перевести из паскаля на си шарп! Пожалуйста! const n=2; eps=1e-4; type Tmatr=array...

Метод Ньютона для решения системы нелинейных уравнений
sin(x+2)-y=1.5 x+cos(y-2)=0.5 решить методам Ньютона с погрешностью 0.0001.За начальные...

Метод Ньютона для решения системы нелинейных уравнений
Здравствуйте! Нужно решить методом Ньютона систему уравнений с точностью 0.0001: sin(x+y) - 1.2x =...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru