Форум программистов, компьютерный форум, киберфорум
Wolfram Mathematica
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/78: Рейтинг темы: голосов - 78, средняя оценка - 4.92
3 / 3 / 0
Регистрация: 08.05.2012
Сообщений: 16
1

Решить СЛАУ методом Гаусса в Математике

13.09.2012, 22:59. Показов 16013. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Решить систему ЛАУ с помощью метода Гаусса. причем нельзя использовать встроенные функции.( в частности RowReduce).
Вот матрица системы. Последний столбец - свободных членов.
a= {
{2, 12, -5, 1, 0, 3},
{0.81, 0, -10, 3, -1, 3},
{44, 22, -1, 0, 5, 3},
{-1.8, 0, 6, -22, 1, 3},
{-1, 0, 0, 3.12, 18.4, 3}
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2012, 22:59
Ответы с готовыми решениями:

Решить СЛАУ методом Гаусса
Помогите решить матрицу методом Гаусса

Решить СЛАУ методом итераций и методом Гаусса
Помогите решить методом итераций систему уравнений A\bullet X=B. Для остановки процесса...

Решить Слау 5х6 методом Гаусса
Задача такая решить СЛАУ методом Гаусса с выбором главного элемента. Помогите очень нужно.

Решение СЛАУ методом Гаусса
Нужен файл для решения СЛАУ методом гауса для матриц различных порядков. Пожалуйста

7
Модератор
Эксперт по математике/физике
5240 / 4027 / 1385
Регистрация: 30.07.2012
Сообщений: 12,289
14.09.2012, 00:14 2
Цитата Сообщение от Rusic
Решить систему ЛАУ с помощью метода Гаусса. причем нельзя использовать встроенные функции.
"Маразм крепчал". Не помню, кем это было сказано, но сказано ВЕРНО!!!
Дорогой(ая) Rusic! Без бумаги, ручки и метода Гаусса Вам не обойтись...
0
3 / 3 / 0
Регистрация: 08.05.2012
Сообщений: 16
14.09.2012, 00:20  [ТС] 3
Я знаю, как это делается на бумаге. Но не могу реализовать в Математике. Путаница с циклами и их порядком действия.
0
Модератор
Эксперт по математике/физике
5240 / 4027 / 1385
Регистрация: 30.07.2012
Сообщений: 12,289
14.09.2012, 00:24 4
Цитата Сообщение от Rusic Посмотреть сообщение
Путаница с циклами и их порядком действия.
Эх! Пришлите Ваш файл с "путаницей".
0
3 / 3 / 0
Регистрация: 08.05.2012
Сообщений: 16
14.09.2012, 09:40  [ТС] 5
For[k = 1, k <= n, k++, m = k; max = Abs[a[[k, k]]]
For[i = k + 1; i <= n, i++,
If[Abs[a[[i, k]]] > max, {m = i, max = Abs[a[[i, k]]]}];
If[m != k, For[j = k, j <= n + 1, j++,
{w = a[[k, j]], a[[k, j]] = a[[m, j]], a[[m, j]] = w}]]
For[j = n + 1, j >= k, j--, a[[k, j]]/a[[k, k]]]; For[i = 1, i <= n, i++, For[j =...
А дальше запуталась( я не дописала получение нулей под и над диагональю.
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,162
Записей в блоге: 24
18.09.2012, 14:25 6
Переложил на Вольфрам код Puporev (ему надо сказать спасибо). Исходный код: Исправьте пожалуйста некоторые недочеты в программе по решению СЛАР методом Гаусса

Кликните здесь для просмотра всего текста
Код
Per =
  Function[{k, n, a, b},
   Module[{i, j, z},
    z = a[k, k];
    i = k;
    Do[
     If[Abs[a[j, k]] > z,
      (z = a[j, k]; i = j),
      Null
      ]
     , {j, k + 1, n - 1}];
    If[i > k,
     Do[
      (z = a[i, j]; a[i, j] = a[k, j]; a[k, j] = z)
      , {j, k, n - 1}],
     Null
     ];
    (z = b[i]; b[i] = b[k]; b[k] = z);
    True
    ]
   ];

PrChod =
  Function[{n, a, b},
   Module[{k, i, j, r},
    Do[
     If[a[k, k] == 0, Per[k, n, a, b], Null];
     Do[
      r = a[j, k]/a[k, k];
      Do[
       a[j, i] = a[j, i] - r*a[k, i];
       , {i, k, n - 1}]
      , {j, k + 1, n - 1}]
     , {k, 0, n - 1}];
    True
    ]
   ];

ObrChod =
  Function[{n, a, b, x},
   Module[{k, j, r, g},
    Do[
      r = 0;
      Do[
       g = a[k, j]*x[j];
       r = r + g;
       , {j, k + 1, n - 1}];
      x[k] = (b[k] - r)/a[k, k]
      , {k, n - 1, 0, -1}]
     True
    ]
   ];

Gausse =
  Function[{c},
   Module[{a, b, n, x, r},
    n = Length[c];
    Do[a[i - 1, j - 1] = c[[i, j]], {i, 1, n}, {j, 1, n}];
    Do[b[i - 1] = c[[i, n + 1]], {i, 1, n}];
    (*Print[Definition[a],Definition[b]];*)
    PrChod[n, a, b];
    (*Print/@Definition/@{a,b};*)
    ObrChod[n, a, b, x];
    (*Print/@Definition/@{a,b,x};*)
    
    Table[x[i], {i, 0, n - 1}]
    ]
   ];


Комментарий:
* Использовал не список за основу (список имеет заголовок List и к элементу мы стучимся при помощи Part: list[[i,j]]), а правила подстановок (поэтому скобочки одинарные: list[i,j]).
* Функция Gausse занимается приведения одного большого массива всех коэффициентов к двум функциям, с которыми, собственно, и происходят все манипуляции.
0
Эксперт по математике/физике
4217 / 3412 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
18.09.2012, 15:54 7
Поиск по запросу "Mathematica Gauss", среди первых результатов:

http://math.fullerton.edu/math... anMod.html

Всё есть - тексты, примеры. Но это будет полезно лишь для того, кто понимает, как это делать, и умеет всё сделать вручную.
0
3 / 3 / 0
Регистрация: 08.05.2012
Сообщений: 16
04.10.2012, 22:31  [ТС] 8
Прикладываю решение своей задачи. Оно правильное. Может кому понадобится)

n = 5;
a = {{2, 12, -5, 1, 0, 3}, {0.81, 0, -10, 3, -1, 3}, {44, 22, -1, 0,
5, 3}, {-1.8, 0, 6, -22, 1, 3}, {-1, 0, 0, 3.12, 18.4, 3}};
For[k = 1, k <= n, k++, m = k; max = Abs[a[[k, k]]];
For[i = k + 1, i <= n, i++,
If[Abs[a[[i, k]]] > max, {m = i, max = Abs[a[[i, k]]]}]];
If[m != k,
For[j = k, j <= n + 1,
j++, {w = a[[k, j]], a[[k, j]] = a[[m, j]], a[[m, j]] = w}]];
For[j = n + 1, j >= k, j--, a[[k, j]] = a[[k, j]]/a[[k, k]]];

For[i = 1, i <= n, i++,
If[i != k, For[j = n + 1, j >= k, j--,
a[[i, j]] = a[[i, j]] - a[[i, k]]*a[[k, j]]]]];
Print[a // MatrixForm]]
2
04.10.2012, 22:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2012, 22:31
Помогаю со студенческими работами здесь

Решение СЛАУ методом Гаусса
Здравствуйте! Помогите пожалуйста разобраться в чем ошибка! Программа - решение СЛАУ методом...

Решение СЛАУ методом Гаусса
В программе есть ошибка,помогите её найти и...

Решение СЛАУ методом Гаусса
Помогите решить систему линейных уравнений, используя метод Гаусса с выбором главного элемента,...

Решение СЛАУ методом Гаусса-Зейделя
Подскажите, пожалуйста, в чём ошибка... clear; clc; a= b= e=0.00001; n=3; miter=100; for...

Решение СЛАУ методом Гаусса. Неправильные результаты
Всем добрый день. Программа неправильно находит корни. Не могу понять почему. Правильные корни:...

Решение СЛАУ методом Гаусса. Ошибка в коде
Всем добрый день. Никак не могу понять ошибку в коде.Ругается на 15 строчку. ...


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

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