IPB

Здравствуйте, гость ( Вход | Регистрация )

> массив в Паскале, определитель матрицы
otherside
сообщение 26.3.2008, 13:47
Сообщение #1


Студент
**

Группа: Продвинутые
Сообщений: 98
Регистрация: 29.2.2008
Город: красноярск
Учебное заведение: КрижтИрГупс
Вы: студент



помогите пожалуйста написать такую программу : написать массив, который вычисляет определитель матрицы 3х3 по методу Гаусса. Значения в матрице запрашиваются случайно.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
tig81
сообщение 26.3.2008, 13:57
Сообщение #2


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(otherside @ 26.3.2008, 15:47) *

помогите пожалуйста написать такую программу : написать массив, который вычисляет определитель матрицы 3х3 по методу Гаусса. Значения в матрице запрашиваются случайно.

Простите, а что это за метод Гауссса для вычисления определителей третьего порядка!? Первый раз о таком слышу.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
otherside
сообщение 26.3.2008, 14:03
Сообщение #3


Студент
**

Группа: Продвинутые
Сообщений: 98
Регистрация: 29.2.2008
Город: красноярск
Учебное заведение: КрижтИрГупс
Вы: студент



Цитата(tig81 @ 26.3.2008, 20:57) *

Простите, а что это за метод Гауссса для вычисления определителей третьего порядка!? Первый раз о таком слышу.

как нам говорил препод нужно по методу Гаусса избавиться от чисел в верхнем треугольнике и в нижнем (то есть обнулить их) и тогда остается одна главная диагональ по которой можно посчитать определитель...
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.3.2008, 14:19
Сообщение #4


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(otherside @ 26.3.2008, 16:03) *

как нам говорил препод нужно по методу Гаусса избавиться от чисел в верхнем треугольнике и в нижнем (то есть обнулить их) и тогда остается одна главная диагональ по которой можно посчитать определитель...

ясно, спасибо. Т.е. приведение определителя к верхне- или нижнетреугольному виду. Тогда определитель равен произведению элементов главной диагонали.
Чтобы, например, сделать нули в первом столбце (кроме элемента а11) поступаем следующим образом:
a[i,j]-a[i,j]/a[1,1], где a[i,j] - элемент в первом столбце.
Т.е. от второй строки отнимаем первую, умноженную на a[2,1]/a[1,1]
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
otherside
сообщение 26.3.2008, 14:32
Сообщение #5


Студент
**

Группа: Продвинутые
Сообщений: 98
Регистрация: 29.2.2008
Город: красноярск
Учебное заведение: КрижтИрГупс
Вы: студент



Цитата(tig81 @ 26.3.2008, 21:19) *

ясно, спасибо. Т.е. приведение определителя к верхне- или нижнетреугольному виду. Тогда определитель равен произведению элементов главной диагонали.
Чтобы, например, сделать нули в первом столбце (кроме элемента а11) поступаем следующим образом:
a[i,j]-a[i,j]/a[1,1], где a[i,j] - элемент в первом столбце.
Т.е. от второй строки отнимаем первую, умноженную на a[2,1]/a[1,1]

а как написать что от второй строки отнимается первая?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.3.2008, 14:40
Сообщение #6


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(otherside @ 26.3.2008, 16:32) *

а как написать что от второй строки отнимается первая?

Вот есть программка на Паскале метод Гаусса для СЛАУ
Код
Program Metod_Gaussa;  
const
  R=6;                  
  A:array [1..R,1..R+1] of extended =
    (( 2.1,  1.3,  -5.2,   1.4,  3.3,  4.6,  14.35),
     ( 6.3, -0.4, -14.4,   7.8, 14.0, 21.0,  90.95),
     ( 2.1, -3.0,  -1.7,   9.2,  7.8, 24.6, 129.28),
     ( 4.2, -1.7,  -6.9,  10.6, 11.1, 29.2, 143.63),
     (-2.1,  3.0,  -0.6, -13.4, -0.5,  0.0, -65.30),
     ( 4.2,  2.6, -15.0,  -5.6, 13.5,  0.6, -43.71));
var
  i,j,k:byte;
  X:array [1..R] of extended;
  C:extended;
BEGIN
writeln;
for i:=1 to R-1 do
  begin
   k:=i;
   for j:=i+1 to R do
    if abs(A[j,i])>abs(A[k,i]) then
     k:=j;
   if k<>i then
    for j:=i to R+1 do
     begin
      C:=A[i,j];
      A[i,j]:=A[k,j];
      A[k,j]:=C;
     end;
   for j:=i+1 to R do
    begin
     C:=A[i,i]/A[j,i];
     for k:=i+1 to R+1 do
      A[j,k]:=A[j,k]*C-A[i,k];
    end;
  end;
for i:=R downto 1 do
  begin
   C:=0;
   for j:=i+1 to R do
    C:=C+A[i,j]*X[j];
   X[i]:=(A[i,R+1]-C)/A[i,i];
  end;
for i:=1 to R do
  writeln('X',i,'=',X[i]:10:6);
writeln;
END.

посмотрите, может разберетесь.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
otherside
сообщение 26.3.2008, 15:35
Сообщение #7


Студент
**

Группа: Продвинутые
Сообщений: 98
Регистрация: 29.2.2008
Город: красноярск
Учебное заведение: КрижтИрГупс
Вы: студент



Цитата(tig81 @ 26.3.2008, 21:40) *

Вот есть программка на Паскале метод Гаусса для СЛАУ
Посмотрите, может разберетесь.

спасибо... попробую разобраться... (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 26.3.2008, 15:41
Сообщение #8


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Цитата(otherside @ 26.3.2008, 17:35) *

спасибо... попробую разобраться... (IMG:style_emoticons/default/smile.gif)

пробуйте! (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
otherside   массив в Паскале   26.3.2008, 13:47
tig81   помогите пожалуйста написать такую программу : на...   26.3.2008, 13:57
otherside   Простите, а что это за метод Гауссса для вычислен...   26.3.2008, 14:03
tig81   как нам говорил препод нужно по методу Гаусса изб...   26.3.2008, 14:19
otherside   ясно, спасибо. Т.е. приведение определителя к вер...   26.3.2008, 14:32
tig81   а как написать что от второй строки отнимается пе...   26.3.2008, 14:40
otherside   Вот есть программка на Паскале метод Гаусса для С...   26.3.2008, 15:35
tig81   спасибо... попробую разобраться... :) пробуйте...   26.3.2008, 15:41
otherside   пробуйте! :) у меня вопрос. я все-таки не мо...   3.4.2008, 12:56
creer   Лучше использовать real при задании массивов (если...   3.4.2008, 13:11
otherside   Лучше использовать real при задании массивов (есл...   3.4.2008, 14:15
creer   Массив должен быть заполнен перед решением, иначе ...   3.4.2008, 14:44
otherside   Массив должен быть заполнен перед решением, иначе...   3.4.2008, 15:21
creer   Удачи, но это не слишком простая программа.   3.4.2008, 15:28
otherside   Удачи, но это не слишком простая программа. в то...   3.4.2008, 15:32
creer   Матрица всего 3x3. Может быть проще написать свое ...   3.4.2008, 16:00
otherside   Матрица всего 3x3. Может быть проще написать свое...   3.4.2008, 16:47
creer   Вот, скажем, мы прошли второй ряд. В a[2,1] будет ...   3.4.2008, 17:17


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 26.5.2025, 2:54

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru