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

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

24.01.2013, 21:57. Просмотров 1871. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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

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


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

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

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