Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
vaichko_O
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 1
#1

метод рунге-кутта 4 порядка для решения системы 2х диффур - C#

24.01.2013, 21:57. Просмотров 1765. Ответов 0
Метки нет (Все метки)

здравствуйте, форумчане. мне очень нужна помощь в доработке программы. при отладке программа виснет и не выдает ответ. ошибок тоже нет. в чем косяк сама не могу понять. помогите пожалуйста!!!

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
 double X_proizv(double x,double y,double t)
        {
            A0 = Convert.ToDouble(textBox1.Text);
            A1 = Convert.ToDouble(textBox3.Text);
            A2 = Convert.ToDouble(textBox5.Text);
            A3 = Convert.ToDouble(textBox7.Text);
            A4 = Convert.ToDouble(textBox9.Text);
            A5 = Convert.ToDouble(textBox11.Text);
            return A0 + A1 * x + A2 * x * x + A3 * y + A4 * y * y + A5 * x * y + A6 * t + A7 * t * t;
        }
 
        double Y_proizv(double x, double y, double t)
        {
            b0 = Convert.ToDouble(textBox2.Text);
            b1 = Convert.ToDouble(textBox4.Text);
            b2 = Convert.ToDouble(textBox6.Text);
            b3 = Convert.ToDouble(textBox8.Text);
            b4 = Convert.ToDouble(textBox10.Text);
            b5 = Convert.ToDouble(textBox12.Text);
            return b0 + b1 * x + b2 * x * x + b3 * y + b4 * y * y + b5 * x * y + b6 * t + b7 * t * t;
        }
 
        public double[] Runge(double x, double y, double t)
        {
            double x_sled;
            double y_sled;
            double t_sled;
            double k1, k2, k3, k4, m1, m2, m3, m4;
            int i = 0;
            do
            {
                i++;
                //вычисление очередного значения х и y
                k1 = X_proizv(x, y, t) * h;
                m1 = Y_proizv(x, y, t) * h;
                k2 = X_proizv(x + k1 / 2, y + m1 / 2, t + h / 2) * h;
                m2 = Y_proizv(x + k1 / 2, y + m1 / 2, t + h / 2) * h;
                k3 = X_proizv(x + k2 / 2, y + m2 / 2, t + h / 2) * h;
                m3 = Y_proizv(x + k2 / 2, y + m2 / 2, t + h / 2) * h;
                k4 = X_proizv(x + k3, y + m3, t + h / 2) * h;
                m4 = Y_proizv(x + k3, y + m3, t + h / 2) * h;
 
                x_sled = x + (k1 + 2 * k2 + 2 * k3 + k4) / 6;
                y_sled = y + (m1 + 2 * m2 + 2 * m3 + m4) / 6;
 
                if (Math.Abs(x_sled - x) < E && Math.Abs(y_sled - y) < E)
                    break;
                x = x_sled;
                y = y_sled;
                t += h / 2;
            }
            while (true);
            double[] mas = { x_sled, y_sled };
            return mas;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            X_proizv(1, 1,0);
            Y_proizv(1, 1,0);
            double x0 = Convert.ToDouble(textBox13.Text);
            double y0 = Convert.ToDouble(textBox14.Text);
            double[] reshenie = Runge(x0, y0,0);
            label16.Text = "x = " + Convert.ToString(reshenie[0]);
            label17.Text = "y = " + Convert.ToString(reshenie[1]);
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 21:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос метод рунге-кутта 4 порядка для решения системы 2х диффур (C#):

Решение системы 6 уравнений методом Рунге-Кутта 4 порядка
Подскажите пожалуйста, как переделать мою программу для решения системы 6...

Реализация метода Рунге-Кутты для параллельного решения системы ОДУ
Доброго времени суток. Коллеги, не найдется ли у кого реализации метода...

Дифференциальные уравнения метод рунге - кутта
мой код вот using System; using System.Collections.Generic; using...

Рекурсивный метод решения системы уравнений
Решить систему уравнений рекурсивным методом: a,b,q - вводятся...

Решение уравнений методом Рунге-Кутта
Ребят, делаю моделирование движения транспортного потока(модель умного...

Методом Рунге-Кутта определить напряжение на конденсаторе в течение первых 10 микросекунд
Помогите пожалуйста, подскажите, с чего начать, к в принципе в с# можно это...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 21:57
Привет! Вот еще темы с решениями:

Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений
Начал писать курсовую. Нужно написать три алгоритма решения СЛАУ: прогонки,...

Метод для решения прямоугольных матриц
Подскажите методы для решения системы уравнений в которой n≠m (где n-число...

Программа для решения системы двух линейных уравнений
Помогите, пожалуйста, решить задачу. Составьте программу для решения системы...

Метод бисопряженных градиентов для решения СЛАУ
Добрый день, никак не могу понять почему метод бисопряженных градиентов дает...


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

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

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