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

Решить интегральное уравнение численным методом и построить график

05.05.2015, 07:59. Показов 943. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, у меня следующая ситуация - мне нужно решить интегральное уравнение численным методом и построить по получившимся 2ум переменным график. С Windows Forms я разобрался, с двумерными графиками тоже боле менее - использую библиотеку ZedGraphs. Главная проблема состоит в том, что из этого уравнения просто так невозможно выразить неизвестные переменные, так как для этого пришлось провести большое количество действий. Так вот вопрос в том - может кто нибудь решал интегральные уравнения на C#, подскажите как решать данное уравнение:
https://www.cyberforum.ru/cgi-bin/latex.cgi? \frac{1}{2}*{a}_{2.i}-\sum_{j=1,i=1,j\neq i}^{n}({G}_{22.ij}*{a}_{2.j}+{G}_{23.ij}*{a}_{3.j})*L={n}_{2.j}*{t}_{22.i}

в формуле неизвестные a.i и a.j остальное известно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2015, 07:59
Ответы с готовыми решениями:

Решить интегральное уравнение операционным методом
интеграл от 0 до x (cos(x-t)y(t))dt=x+x^2 дошла до момента U(p)= ((p^2+2)(p^2+1))/p^4, дальше пока...

Решить дифференциальное уравнение второго порядка аналитическим и численным методом
Вот 1. Решение дифференциальных уравнений второго порядка: Решить дифференциальное уравнение...

Задачи по численным методам. Решить уравнение методом простой итерации
1.Решить уравнение 3x3-2x2-x-20=0 методом простой итерации c точностью =10-6; Нужно...

Не получается взять интеграл численным методом и построить график, почему-то бесконечность
помогите решить интеграл и построить график, уходит в бесконечность clear all; close all;...

3
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 4
12.05.2015, 09:44  [ТС] 2
Конечно это система уравнений с 2n неизвестными a2i и a3i, эту систему удобнее решить методом Гаусса. В программе я задал все известные матрицы и константы, а также панель для рисования графика. Но пока не могу решить саму систему этим методом. Посмотрите может кто нибудь подскажет примерный код решения.
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ZedGraph;
 
 
namespace Geomehanika
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Graphs();
        }
 
     private void Graphs()
        {
            GraphPane pane1 = zedGraph1.GraphPane;
            pane1.CurveList.Clear ();
            PointPairList list1 = new PointPairList ();
            int n = 4;
         double [,] a  = new double [2,n];
         double[,,,] G = new double[2, 2, n, n];
         double L = 4;
         double[,] norm = new double[2,n];
         double[,] yi = new double[n, n];
         double[,] zi = new double[n, n];
         double[,] yj = new double[n, n];
         double[,] zj = new double[n, n];
         double nyu  =  0.25;
         double [,] r = new double [n,n];
         double f1max = Math.PI/4;
         double t = 1;
         int k = n - 2;
 
         double SUMM1;
         double SUMM2;
         for (double f1 = 0; f1 <= f1max; f1 += 0.2)
         {
            for (int i = 0; i <= k; i += 1)
            {
                for (int j = 0; j <= k; j += 1)
                {
                  // if (i !=j)
                    {
                      
                       
 
                                yi[i, j] = Math.Cos(f1);
                                zi[i, j] = Math.Sin(f1);
                                yj[i, j] = Math.Sin(f1);
                                zj[i, j] = Math.Cos(f1);
                                norm[0, i] = Math.Cos(yi[i,j]);
                                norm[1, i] = Math.Sin(zi[i,j]);
                                r[i, j] = Math.Sqrt(Math.Pow((yi[i, j] - yj[j, i]), 2) + Math.Pow((zi[i, j] - zj[j, i]), 2));
                                G[0, 0, i, j] = (1 / (4 * Math.PI * (1 - nyu) * Math.Pow(r[i, j], 2))) * ((1 - 2 * nyu) + 2 * yi[i, j] / Math.Pow(r[i, j], 2)) * (yi[i, j] * norm[0, i] + zi[i, j] * norm[1, i]);
                                G[0, 1, i, j] = (1 / (4 * Math.PI * (1 - nyu) * Math.Pow(r[i, j], 2))) * ((1 - 2 * nyu) * (yi[i, j] * norm[1, j] - zi[i, j] * norm[0, j]) + 2 * yi[i, j] * zi[i, j] * (yi[i, j] * norm[0, i] + zi[i, j] * norm[1, i]) / r[i, j]);
                                G[1, 0, i, j] = (1 / (4 * Math.PI * (1 - nyu) * Math.Pow(r[i, j], 2))) * ((1 - 2 * nyu) * (zi[i, j] * norm[0, j] - yi[i, j] * norm[1, j]) + 2 * yi[i, j] * zi[i, j] * (yi[i, j] * norm[0, i] + zi[i, j] * norm[1, i]) / r[i, j]);
                                G[1, 1, i, j] = (1 / (4 * Math.PI * (1 - nyu) * Math.Pow(r[i, j], 2))) * ((1 - 2 * nyu) + 2 * zi[i, j] / Math.Pow(r[i, j], 2)) * (yi[i, j] * norm[0, i] + zi[i, j] * norm[1, i]);
 
                                G[0, 0, i, j] = G[0, 0, i, j] / G[0, 0, 0, 0];
                                G[0, 0, i, j] = G[0, 0, i, j] - G[0, 0, i, 0] * G[0, 0, 0, j];
                                SUMM1 = (0+(G[0,0,i,j]*a[0,j]+G[0,1,i,j]*a[1,j]))/L;              
                                a[0, i] = (t - SUMM1 )/ G[0, 0, i, j];
                                G[0, 0, k, j] = G[0, 0, k, j] / G[0, 0, k, k];
                                G[0, 0, i, j] = G[0, 0, i, j] - G[0, 0, i, k] * G[0, 0, k, j];
                                SUMM2 = (0+(G[1,0,i,j]*a[0,j]+G[1,1,i,j]*a[1,j]))/L;
                                a[1, i] = (t - SUMM2) / G[1, 1, i, j];
                                AITextBox1.Text += " " + Convert.ToString(Math.Round(a[0, i],1))+" ";
                                AITextBox2.Text += " " + Convert.ToString(Math.Round(a[1, i], 1))+" ";
                                BTextBox1.Text += " " + Convert.ToString(Math.Round(G[0, 0, i, j], 1)) + " ";
                               
                                BTextBox2.Text +=" "+ Convert.ToString(Math.Round(G[0, 1, i, j],1))+" ";
                        BTextBox3.Text += " "+Convert.ToString(Math.Round(G[1, 0, i, j],1))+" ";
                                BTextBox4.Text +=" "+ Convert.ToString(Math.Round(G[1, 1, i, j],1))+" ";
                            BRTextBox1.Text += " "+Convert.ToString(Math.Round(r[i,j],2))+" ";
                            BYITextBox1.Text +=" " + Convert.ToString(Math.Round(yi[i,j],1))+" ";
                            BYJTextBox2.Text +=" "+ Convert.ToString(Math.Round(yj[i, j],1))+" ";
                           // list1.Add(a[0, i], a[1, i]);
                        }
                    }
                }
            }
 
 
 
 
 
            LineItem myCurve1 = pane1.AddCurve ("Scatter", list1, Color.Blue, SymbolType.Diamond);
            myCurve1.Line.IsVisible = false;
            myCurve1.Symbol.Fill.Color = Color.Blue;
            myCurve1.Symbol.Fill.Type = FillType.Solid;
            myCurve1.Symbol.Size = 7;
           
             
            zedGraph1.AxisChange();
            zedGraph1.Invalidate ();
        }
    }
}
0
Заблокирован
12.05.2015, 09:55 3
olegus, интегралное уравнение методом Гаусса? Дайте ссылку на теорию, где вы этот метод нашли.
0
0 / 0 / 0
Регистрация: 29.04.2015
Сообщений: 4
12.05.2015, 11:19  [ТС] 4
этот метод Гаусса я нашел в книге "Численные методы" А.А. Самарский, А.В. Гулин.
там похожая система решается таким методом.
0
12.05.2015, 11:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2015, 11:19
Помогаю со студенческими работами здесь

Решить нелинейное уравнение и построить график
Доброго времени суток уважаемые форумчане. Есть такое задание: Решить нелинейное уравнение и...

Решить уравнение и построить график функции
Вообщем не получается решить уравнение ((. помогите пожалуйсто Y=cos(x)+lnx-e x(у е сверху ...

Функциональный анализ. Решить интегральное уравнение
Помогите, пожалуйста, с заданием, наработки все на сканах, как решить интегральное уравнение? Может...

Решить дифференциальное уравнение и построить график функции
Решить дифференциальное уравнение и построить график функции у(х) на отрезке : ...


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

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