Форум: "Потрепаться";
Текущий архив: 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.008 c