Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

Решение систем уравнений   Найти похожие ветки 

 
Separator ©   (2003-05-14 07:30) [0]

В общем-то мне нужны реализации метода Гаусса и LU разложения


 
MBo ©   (2003-05-14 07:32) [1]

algolist.manual.ru
http://www.srcc.msu.su/num_anal/lib_na/cat/cat0.htm
код к numerical recipes in pascal (в Инете - nrpas13.zip)


 
Separator ©   (2003-05-14 08:38) [2]

Это всё очень интересно, но:
на http://www.srcc.msu.su/num_anal/lib_na/cat/cat0.htm всё на С, а мне бы хотелось на Pascal, конечно можно посидеть и попеределывать, но я не настолько хорошо владею С
nrpas13.zip без книги толком не разобраться
на algolist.manual.ru тоже немного не то.

Есть ещё?


 
Думкин ©   (2003-05-14 08:51) [3]

Есть.


 
MBo ©   (2003-05-14 08:51) [4]

Там есть и на фортране - с него легче переводить.

numerical recipes in C и Фортран
http://www.library.cornell.edu/nr/nr_index.cgi
там можно почитать, большинство названий процедур в nrpas совпадают.
В общем-то, метод Гаусса реализовать в простейшей интерпретации нетрудно и самому


 
Separator ©   (2003-05-14 08:58) [5]

Фортран я послдний раз видел в книге где-то в 96

> Думкин © (14.05.03 08:51)

Где


 
Rol   (2003-05-14 09:12) [6]

А что, метод Гаусса реализуется не через один вложенный цикл? В чём проблема?


 
Думкин ©   (2003-05-14 09:19) [7]

Фадеев, Фадеева.
А на Паскаль - сам положишь.


 
han_malign ©   (2003-05-14 09:35) [8]

Халявщик - Гаусса ему готового и на дельфях - да нудно, но несложно - набивай руку... От приведения матрицы к треугольному виду(почти треугольному :))) - еще ни кто не умирал...


 
Separator ©   (2003-05-14 09:37) [9]


> Rol (14.05.03 09:12)
> А что, метод Гаусса реализуется не через один вложенный
> цикл? В чём проблема?

Помоги


 
Separator ©   (2003-05-14 09:40) [10]


> han_malign © (14.05.03 09:35)

:)


 
Спрашивающий   (2003-05-14 09:48) [11]

>Separator ©
Я говорю честно с вышеперечисленными методами не сталкивался но в вопросе написал бы хоть формулы или что там еще есть и подробно цель задачи и кинул бы на потрепаться я уверен что кто нибудь да помог кодом. А так знаешь это надо сейчас книжки вначале по этим методам читать, а кому охото.


 
Separator ©   (2003-05-14 10:01) [12]


> Спрашивающий (14.05.03 09:48)

А я и не прошу написать, я прошу уже готовые реализации. А формулы сюда просто так не закинешь, так как их почти нет, хотя вот есть одна: Ax = B, где A - матрица левой части уравнений, B - вектор правой части, x - вектор неизвестных


 
Rocker ©   (2003-05-14 10:03) [13]

Separator, открой книжку по вышке и далее самостоятельно! Не ленись!


 
Separator ©   (2003-05-14 10:07) [14]


> Rocker © (14.05.03 10:03)

Уже открыл, даже умудрился всё вспомнить и понять, вот тока писать неохота, так как знаю, что есть люди, которые это уже написали


 
Думкин ©   (2003-05-14 10:17) [15]

(14.05.03 07:30)
(14.05.03 10:07)
???
I smile at you.


 
circul ©   (2003-05-14 11:07) [16]

www.halyava.ru - полным ходом туда... И дым из ушей от натуги и скорости.


 
Mystic ©   (2003-05-14 11:27) [17]

Рекомендую книгу Райнша "Справочник алгоритмов на языке Алгол." Линейная алгебра. Там все есть по состоянию на 1970 год.

Гаусс есть на UDBF

А вообще, не в обиду, но вспомнилась украинская поговорка:

Як почухати у сраці
Без затрат ручної праці.



 
Спрашивающий   (2003-05-15 01:36) [18]

Separator © (14.05.03 10:01)
>А я и не прошу написать, я прошу уже готовые реализации. А формулы сюда просто так не закинешь, так как их почти нет, хотя вот есть одна: Ax = B, где A - матрица левой части уравнений, B - вектор правой части, x - вектор неизвестных

Полный бред как описания задачи так и метода поиска вопроса.
1.Есть люди которым не сложно помочь в написаннии кода.
2.Всего то надо было
A*X+B*Y+C*Z=D
A1*X+B1*Y+C1*Z=D1
A2*X+B2*Y+C2*Z=D2
.................
Ну и описание реализации примерно строк десять.
Видишь тебе самому лень даже вопрос задать, а хочишь получить ответ. А я вот не полинился и для себя за 3 часа решил эту задачу
а вот выкладывать нет ни какого желания из-за вышепереисленного коментария.



 
OlDemon ©   (2003-05-15 06:23) [19]

ДЕйствительно задачка не очень сложная. Я ее за день сделал на Паскале давном давно и Гауса и Крамера. :)) Да только с тех пор не один винт сгорел т.ч. нет той програмки уже. :( Только помнить мне что там что то с рекурсией было.


 
Думкин ©   (2003-05-15 06:56) [20]


> OlDemon © (15.05.03 06:23)

Крамер? Да - там можно ирекурсией. Но Гаусса? Просто сон в летнюю ночь. Все описанное делается в полчаса на любом языке, кроме АСМ - там чуть дольше. Вот и все.


 
OlDemon ©   (2003-05-15 07:37) [21]

2 Думкин > Да честно говоря не помню, возможно рекурсия была у Крамера :)) Давно было, да и склероз не дремлет. :))


 
Separator ©   (2003-05-15 08:07) [22]


> Спрашивающий (15.05.03 01:36)

А формулы я не выложил, так как думаю, что все представляют, что такое система уравнений.
Спасибо всем, буду сидеть делать.


 
MBo ©   (2003-05-15 08:09) [23]

еще раз рекомендую, если самому трудно - фортрановские исходники с БЧА НИВЦ МГУ


 
Думкин ©   (2003-05-15 08:18) [24]

Повторюсь. :-)

> (14.05.03 07:30)
> (15.05.03 08:07)
> I smile at you.



 
Separator ©   (2003-05-15 10:26) [25]


> Mystic © (14.05.03 11:27)

Не мог бы привести пример использования LinGauss, конкрето в каком виде передавать массив


 
Mystic ©   (2003-05-15 11:02) [26]

procedure TForm1.RunBtnClick(Sender: TObject);
var
M, N: Integer;
I, J: Integer;
Data: PExtended;
X: PExtended;
DataPtr: PExtended;
XPtr: PExtended;
begin
M := StrToInt(Edit1.Text);
N := StrToInt(Edit2.Text);
GetMem(Data, M*(N+1)*SizeOf(Extended));
GetMem(X, N*SizeOf(Extended));
try
DataPtr := Data;
for I := 1 to M do
for J := 1 to N+1 do
begin
DataPtr^ := StrToFloat(Grid.Cells[J,I]);
PChar(DataPtr) := PChar(DataPtr) + SizeOf(Extended);
end;
ListBox1.Clear;
if LinGauss(M, N, Data, X) = 0 then
begin
XPtr := X;
for I := 1 to N do
begin
ListBox1.Items.Add(FloatToStr(XPtr^));
PChar(XPtr) := PChar(XPtr) + SizeOf(Extended);
end;
end;
finally
FreeMem(Data);
FreeMem(X);
end;
end;


 
Separator ©   (2003-05-16 06:22) [27]

Спасибо


 
Separator ©   (2003-05-16 07:37) [28]


> Mystic ©

Насколько я понял, если диагоналный элемент равен нулю, то переставление столбцов не происходит. Это так?



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.014 c
14-3100
Мыш
2003-05-13 17:51
2003.06.02
Заклевали пацана?


6-3046
Gross
2003-04-01 22:01
2003.06.02
есть ип! надо узнать имя юзера, под которым он залогинился


1-2908
Kiril
2003-05-23 00:06
2003.06.02
Использую ОЛЕ Word... Острая нехватка информации...


1-2893
Юрий
2003-05-21 17:07
2003.06.02
Быстрая сортировка


3-2773
SerjUfa
2003-05-14 08:12
2003.06.02
Как создать копию таблицы?