Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2011, 01:49   #1
kitty_girl
 
Регистрация: 04.05.2009
Сообщений: 9
Печаль Метод квадратного корня

Разбираю чужой код. суть задачи - решение слау методом квадратного корня для ленточных матриц. в коде существует процедура,которая,насколько я поняла, умножает матрицу саму на себя для избежания выхода в комплексную область при извлечении корней. но матрица перемножается каким-то странным образом. может кто знает,что это за метод? сама процедура ниже

MatrixB = array[1..maxn, 1..maxl] of real;

Procedure TFormMain.MultiB (n,l: integer; Var B:MatrixB);
var i,j,k,u:integer;
temp: MatrixB;
begin
for i:=1 to maxn do
for j:=1 to maxl do
temp[i,j] := 0;

for i:=1 to n do
for j:=1 to l do
temp[i,1] := temp[i,1] + B[i,j]*B[i,j];
for i:=1 to n do
for j:=2 to l do
begin
u := 1;
for k:=j to l do
begin
temp[i,j] := temp[i,j] + B[i,k]*B[j+i-1,u];
inc(u);
end;
end;
for i:=1 to n do
for j:=1 to l do
B[i,j] := temp[i,j]
end;
kitty_girl вне форума Ответить с цитированием
Старый 04.11.2011, 12:54   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Что-то странное. Первый столбец - суммы квадратов строк, последующие - суммы попарных произведений, но... Из интереса скармливаю матрицу 3х3, считаю. ~ - неопределённые значения, B[j+i-1,u] лезет за пределы массива.
Код:
  1 0 3        10 0 0        10  3 12
B 3 1 2  temp1 14 0 0  temp2 14 14  ~
  4 5 1        42 0 0        42  ~  ~
Оно правда работает?
Abstraction вне форума Ответить с цитированием
Старый 04.11.2011, 14:17   #3
kitty_girl
 
Регистрация: 04.05.2009
Сообщений: 9
По умолчанию

да))
дело в том,что фактический размер матрицы - maxN*maxL,но ненулевые элементы расположены в области N*L,т.е. выхода за границу нет,там ноль стоит
kitty_girl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление квадратного корня вручную 6AZblJlb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 16.11.2011 04:02
Вычисление квадратного корня Wera Visual C++ 7 09.07.2010 19:23
Вычисление квадратного корня в Delphi TaYgA Помощь студентам 17 08.11.2009 18:16
Метод квадратного корня RrR007 Помощь студентам 0 10.06.2009 21:01