|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Работа с матрицами
Помогите, пожалуйста, даны квадратные матрицы A и B порядка n. Нужно получить произведение B*AT, где T-транспонированная матрице A.
|
#2
|
|||
|
|||
Результатом будет матрица порядка 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
|
|||
|
|||
а чем здесь является матрица C?
|
#4
|
||||
|
||||
Цитата:
знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! |
#5
|
|||
|
|||
а как транспонированную получить
|
#6
|
||||
|
||||
знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! |
#7
|
|||
|
|||
Когда прочитаешь про транспонированные матрицы, может быть, поймешь, что для работы программы ни к чему транспонировать матрицу A. Достаточно просто пробегаться не по столбцам, а по строкам. Вообще, я надеюсь на то, что ты знаешь формулу перемножения матриц.
|
#8
|
|||
|
|||
я знаю что такое транспонированная матрица, но мне её нужно получить отдельно
|
#9
|
||||
|
||||
ну и в чем проблема? незнаешь как элементы переставлять местами чтоль?
Код:
procedure swap(var a,b: integer); var t:integer; begin t:=a; a:=b; b:=t; end; знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! |