Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.009 c
14-3139
Zergling
2003-05-14 11:24
2003.06.02
Как понять такой Record?


3-2754
Otchet
2003-05-13 14:54
2003.06.02
Stack OverFlow


14-3152
Думкин
2003-05-15 07:06
2003.06.02
Кругозор


14-3157
AFrolov
2003-05-13 13:07
2003.06.02
Численный поиск корней функции


1-2959
Nesterovsky
2003-05-18 11:21
2003.06.02
Как в TListView отображать записи разным шрифтом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский