Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 01.07.2019
Сообщений: 8

Решение СЛАУ методом квадратного корня

10.09.2019, 14:54. Показов 3068. Ответов 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
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
106
107
108
109
110
111
112
113
114
115
116
117
118
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace square_root_method
{
    class Program
    {
        static void Main(string[] args)
        {
            double g = 0;
            double w = 0;
            double f = 0;
            double r = 0;
            double[] y = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            double[] x = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
            double[] b = { -72, 27.5, -105, 27.5, 184.5, 173, 174, -67, 164.5, 25, -66.5, -2, -27, -84, -95.5 };
            //double[,] d; //= new double[15, 15] { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
            double[,] S = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
            double[,] A = { { 20, 5.5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2, 1 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5, 2 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5.5, 20, 5.5 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5.5, 20 } };
            for (int i = 0; i < 15; i++)
             {
                 for (int j = 0; j < 15; j++)
                 {
                     Console.Write(A[i, j] + " ");
                 }
                 Console.WriteLine();
             }
             // Console.ReadKey();
             S[0, 0] = Math.Sqrt(A[0, 0]);
             for (int j = 1; j < 15; j++)
             {
                 S[0, j] = A[0, j] / S[0, 0];
             }
 
             for (int i = 1; i < 15; i++)
             {
                 for (int k = 0; k < i; k++)
                 {
                     g += Math.Pow(S[k, i], 2);
                 }
                 S[i, i] = Math.Sqrt(Math.Abs((A[i, i] - g)));
                 g = 0;
             }
             for (int i = 0; i < 15; i++)
             {
                 for (int j = i+1; j < 15; j++)
                 {
                     if (i < j)
                     {
                         for (int k = 0; k < i; k++)
                         {
                             w += S[k, i] * S[k, j];
                         }
                         S[i, j] = ((A[i, j] - w) / S[i, i]);
                         w = 0;
                     }
                     if (i > j)
                     {
                         S[i, j] = 0;
                     }
                 }
             }
             for (int i = 0; i < 15; i++)
             {
                 for (int j = 0; j < 15; j++)
                 {
                     Console.Write(S[i, j] + " ");
                 }
                 Console.WriteLine();
             }
             //    Console.ReadKey();
             y[0] = b[0] / S[0, 0];
             for (int i = 0; i < 15; i++)
             {
                 for (int k = 0; k < i; k++)
                 {
                     f += S[k, i] * y[k];
                 }
                 y[i] = (b[i] - f) / S[i, i];
                 f = 0;
             }
             int n = 14;
             x[n] = y[n] / S[n, n];
             for (int i = n; i > -1; i--)
             {
                 if (i < n)
                 {
                     for (int k = i + 1; k < n + 1; k++)
                     {
                         r = r + S[i, k] * x[k];
                     }
                     x[i] = (y[i] - r) / S[i, i];
                     r = 0;
                 }
             }
             for (int i = 0; i < 15; i++)
             {
                 Console.WriteLine($"x{i + 1}={x[i]} ");
             }
            double[] m = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
             for (int i = 0; i < 15; i++)
             {
                 for (int j = 0; j < 15; j++)
                 {
                     m[i] = m[i] + A[i, j] * x[j];
                 }
             }
             for (int i = 0; i < 15; i++)
             {
                 Console.WriteLine($"m{i + 1}={m[i]} ");
             }
              Console.ReadKey(); 
        }
    }
}

Кликните здесь для просмотра всего текста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2019, 14:54
Ответы с готовыми решениями:

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

Решение СЛАУ методом итераций
Ребят, прошу помощи. В математике не силен, а надо сделать приложение для решения слау методом итераций. Нашел код java, переписал на c#,...

Решение СЛАУ методом Гаусса
Привет всем! уже сбился с ног в поисках работающего кода для решения СЛАУ методом Гаусса, буду очень благодарен если кто подкинет пример...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.09.2019, 14:54
Помогаю со студенческими работами здесь

Решение СЛАУ методом ГАУССА
По роду деятельности зачастую необходимо решать СЛАУ вида A*x=b A x b До недавних пор использовал библиотеку ALGLIB для .NET ...

Решение квадратного уравнения методом Ньютона
Добрый вечер. помогите пожалуйста с программой. необходимо решить кв.уравнение ax^2+bx+c=0 методом ньютона. -интервал изоляции. ниже...

Решение СЛАУ методом простых итераций
Сперва я создаю матрицу совместительности для подсчета канонических норм(к1,к2,к3). Если все из них меньше единицы то делать итерации...

Решение СЛАУ методом Гаусса. Ошибка
Добрый день/утро/вечер! Хочу прописать решение СЛАУ методом Гаусса ( https://ru.wikipedia.org/wiki/Метод_Гаусса найдите на странице через...

Програмное решение СЛАУ методом гаусса
ребята прошу очень помощи с кодом))) за ранее спасибочки)))))))


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru