Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 28.09.2012
Сообщений: 127
1

Реализация метода Ньютона для системы нелинейных уравнений

15.12.2012, 01:21. Показов 3733. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, реализую метод Ньютона для системы нелинейных уравнений. Программа выводит конечные результаты х и у, хочу вывести значение для каждой итерации, не могу разобраться как это сделать.
Вот сам метод:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Kurs_CHM
{
    class newton_method
    {
        double eps = 0.001;
        public int i = 0;
        public double x = 0;
        public double y = 0;
 
        double f1(double x, double y)
        { return x - 0.25 * Math.Sin(0.3 * y); }
 
        double f2(double x, double y)
        { return 0.5 * Math.Cos(0.5 * x) - y; }
 
        double df1dx()
        { return 1; }
 
        double df1dy()
        { return (-3 * Math.Cos(3 * y / 10)) / 40; }
 
        double df2dx()
        { return (-Math.Sin(x / 2)) / 4; }
 
        double df2dy()
        { return -1; }
 
        public double[] Newton(double x, double y)
        {
            double x_sled, y_sled;
            double[] res = new double[3];
            double J;
            do
            {
                i++;
                //Якобиан
                J = df1dx() * df2dy() - df1dy() * df2dx();
                //вычисление очередного значения х
                x_sled = x + (((-f1(x, y)) * df2dy() - (-f2(x, y)) * df1dy()) / J);
                y_sled = y + (((-f2(x, y)) * df1dx() - (-f1(x, y)) * df2dx()) / J);
                if (Math.Abs(x_sled - x) < eps && Math.Abs(y_sled - y) < eps)
                    break;
                x = x_sled;
                y = y_sled;
            }
            while (true);
            //double[] mas = { x_sled,y_sled };
            res[0] = x_sled;
            res[1] = y_sled;
            res[2] = i;
            return res;
        }
    }
}
Здесь я его вызываю:
C#
1
2
3
4
5
6
7
8
9
10
11
private void button1_Click(object sender, EventArgs e)
        {
            newton_method method1 = new newton_method();
            dataGridView1.RowCount = 9;
            for (int n = 0; n < 9; n++)
            {
                dataGridView1.Rows[n].Cells[0].Value = Convert.ToString(Math.Round(method1.Newton(1.0, 2.0)[0], 5));
                dataGridView1.Rows[n].Cells[1].Value = Convert.ToString(Math.Round(method1.Newton(1.0, 2.0)[1], 5));
                dataGridView1.Rows[n].Cells[2].Value = Convert.ToString(method1.Newton(1.0, 2.0)[2]);
            }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2012, 01:21
Ответы с готовыми решениями:

Метод Ньютона для решения нелинейных уравнений
Помогите написать код для решения уравнений данным методом

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

Метод Ньютона для системы нелинейных уравнений
Помогите реализовать Метод Ньютона для системы нелинейных уравнений. Пользователь должен вводить...

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

0
15.12.2012, 01:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2012, 01:21
Помогаю со студенческими работами здесь

Метод Ньютона для решения системы нелинейных уравнений
Программа работает неверно. Пожалуйста, помогите найти ошибки. Спасибо. #include &lt;iostream&gt;...

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

Функция для системы нелинейных уравнений методом Ньютона и синтаксическая ошибка
Добрый день! Пишу функцию для системы нелинейных уравнений методом Ньютона. Выдает ошибку в конце...

Алгоритм метода итерации для системы нелинейных уравнений
Условие: Используя метод итерации, решить систему нелинейных уравнений с точностью до 0.0001 ...


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

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