Программная реализация модального управления для линейных стационарных систем
| Категория реферата: Рефераты по радиоэлектронике
| Теги реферата: шпаргалки по педагогике, судебная реферат
| Добавил(а) на сайт: Anzhelika.
Предыдущая страница реферата | 16 17 18 19 20 21 22 23 24 25 26 | Следующая страница реферата
Singular: Boolean; begin
Singular := False;
DummyMatrix := TMatrix.Create (FCols, FRows); if (FCols FRows) or (FCols = 0) then
Raise EMatrixOperatingError.Create ('Инвертируемая матрица должна быть '+
'квадратной и ненулевого
размера'); if FCols = 1 then if ABS(GetItem(1))
DummyMatrix.SetSingle;
RefRow := 0; repeat
Inc(RefRow); if ABS(Cells[RefRow, RefRow]) < NearlyZero then begin
Singular := TRUE;
NewRow := RefRow; repeat
Inc(NewRow); if ABS(Cells[RefRow, NewRow]) > NearlyZero then begin
SwitchRows(NewRow, RefRow);
DummyMatrix.SwitchRows(NewRow, RefRow);
Singular := False; end; until (not Singular) or (NewRow >= FCols); end; if not Singular then begin
Divisor := Cells[RefRow, RefRow]; for Term := 1 to FCols do begin
SetCell(Term, RefRow, GetCell(Term, RefRow)/Divisor);
DummyMatrix[Term, RefRow] := DummyMatrix[Term,
RefRow]/Divisor; end; for Row := 1 to FCols do if (Row RefRow) and (ABS(Cells[RefRow, Row]) >
NearlyZero) then begin
Multiplier := - Cells[RefRow, Row] / Cells[RefRow,
RefRow]; for Term := 1 to FCols do begin
SetCell(Term, Row, GetCell(Term, Row) +
Multiplier * GetCell(Term,
RefRow));
DummyMatrix[Term, Row] := DummyMatrix[Term, Row] +
Multiplier * DummyMatrix[Term,
RefRow]; end end; end; until Singular or (RefRow >= FCols); end;
Assign(DummyMatrix);
DummyMatrix.Free; if not Singular then Result := True else Result := False; end;
function TMatrix.Determinant: Float; begin
Result := 0; end;
function TMatrix.Rang: Float; begin
Result := 0; end;
end. unit Operates;
interface
uses Matrix, Grids, SysUtils;
const
MaxArraySize = 30;
type
Float = Extended;
TOrder = 1..MaxArraySize;
ESingularMatrix = class (Exception);
type
TComplex = record
Re, Im : Float; end;
TComplexVector = record
Data : array [1..MaxArraySize] of TComplex;
Dim : TOrder; end;
function SymmetricalFunction (Roots: TComplexVector; K: byte): Float; procedure DiffSystemSolve (matrixA, matrixB: TMatrix;
LowerLimit,
UpperLimit: Float;
InitialValues: TMatrix;
NumReturn,
NumIntervals: Word;
SolutionValues: TMatrix);
Рекомендуем скачать другие рефераты по теме: виленкин математика 6 класс решебник, шпора на пятке лечение, дипломная работа формирование.
Категории:
Предыдущая страница реферата | 16 17 18 19 20 21 22 23 24 25 26 | Следующая страница реферата