Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.06.2010, 23:34
Torres Torres вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 12
Репутация: 10
По умолчанию Работа с матрицами

Помогите, пожалуйста, даны квадратные матрицы A и B порядка n. Нужно получить произведение B*AT, где T-транспонированная матрице A.
Ответить с цитированием
  #2  
Старый 21.06.2010, 03:28
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Результатом будет матрица порядка nxn, в которой элемент i-й строки j-го столбца будет равен скалярному произведению i-й строки матрицы B и j-й строки матрицы A.
Код:
var
  A, B, C: array [1..N, 1..N] of Double;
  I, J, K: Integer;

begin
  ...
  for I := 1 to N do
    for J := 1 to N do
    begin
      C[I, J] := 0;
      for K := 1 to N do
        C[I, J] := C[I, J] + B[I, K] * A[J, K];
    end;
  ...
end.
Что-то типа этого.
Ответить с цитированием
  #3  
Старый 21.06.2010, 20:05
Torres Torres вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 12
Репутация: 10
По умолчанию

а чем здесь является матрица C?
Ответить с цитированием
  #4  
Старый 21.06.2010, 20:08
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

Цитата:
Сообщение от Torres
а чем здесь является матрица C?
ну логично что произведение B*AT
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием
  #5  
Старый 23.06.2010, 20:21
Torres Torres вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 12
Репутация: 10
По умолчанию

а как транспонированную получить
Ответить с цитированием
  #6  
Старый 23.06.2010, 21:35
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

http://ru.wikipedia.org/wiki/Транспонированная_матрица

ща скоро таблицу умножения спрашивать будут
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием
  #7  
Старый 24.06.2010, 04:05
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Когда прочитаешь про транспонированные матрицы, может быть, поймешь, что для работы программы ни к чему транспонировать матрицу A. Достаточно просто пробегаться не по столбцам, а по строкам. Вообще, я надеюсь на то, что ты знаешь формулу перемножения матриц.
Ответить с цитированием
  #8  
Старый 25.06.2010, 00:05
Torres Torres вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 12
Репутация: 10
По умолчанию

я знаю что такое транспонированная матрица, но мне её нужно получить отдельно
Ответить с цитированием
  #9  
Старый 25.06.2010, 00:40
Аватар для SerginhoLD
SerginhoLD SerginhoLD вне форума
Новичок
 
Регистрация: 19.11.2009
Сообщения: 73
Репутация: 12
По умолчанию

ну и в чем проблема? незнаешь как элементы переставлять местами чтоль?
Код:
procedure swap(var a,b: integer);
var t:integer;
begin
  t:=a; a:=b; b:=t;
end;
__________________
знаете почему внизу эскалатора бабка в будке сидит?
она там педальки крутит и лесенка едет!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter