+ ScaleI * i, OutPutJ + ScaleJ * j); (VMatrix [i, j]: 4: 2) ;;;
{Підсумовування діагональних елементів (слід матриці)}
function Trace (Range: integer; AMatrix: TMatrix): real; i, N: integer; _sum: real; _sum:=0;:=0;:=Range; i:=1 to N do_sum:=diag_sum + AMatrix [i, i];:=Diag_sum ;;;
{Проміжна матриця V} VInter (var VMatrix: TMatrix; BMatrix, AMatrix: TMatrix; Range: integer;: real); i, j, m, i0: integer ;; (MainTextColor); ( Проміжна матриця Bn ) ;; i:=1 to Range doj:=1 to Range doi=j then BMatrix[i,j]:=AMatrix[i,j]-PkBMatrix[i,j]:=AMatrix[i,j];[i,j]:=BMatrix[i,j];_VMatrix(VMatrix,Range);;;
end;
{Процедура формування матриці A (послідовності матриць)}
procedure AConsistance (var AMatrix: TMatrix; CEquival, V: TMatrix; Range: integer); i, j, k: integer ;; i:=1 to Range doj:=1 to Range do [ i, j]:=0 ;; k:=1 to Range doi:=1 to Range doj:=1 to Range do [k, i]:=AMatrix [k, i] + CEquival [k, j] * V [j, i] ;; _ AMatrix (AMatrix, Range) ;;
end;
{========================================= =================================}
{Проміжна функція зведення в ступінь}
function pow (x: real; y: integer): real; x=0 then pow:=0; x gt; 0 then pow:=exp (y * ln (x)); (x lt ; 0) and ((y mod 2)=0) then pow:=exp (y * ln (-x)); (x lt; 0) and ((y mod 2) lt; gt; 0) then pow:= -exp (y * ln (-x)) ;;
{Остаточна функція} f (x: real; i: integer; PVec: TVec; Range: integer): real; k: integer;:=1; Range=4 then f:=pow ( x, 4) -PVec [k] * pow (x, 3) -PVec [k + 1] * pow (x, 2)
PVec [k + 2] * x-PVec [k + 3]; Range=3 then f:=pow (x, 3) -PVec [k] * pow (x, 2) -PVec [k + 1] * x-PVec [k + 2] ;;
{Derivative -Друга похідна} F_deriv (x: real; i: integer; PVec: TVec; Range: integer): real; k: integer;:=1; Range=4 then F_deriv:= 12 * pow (x, 2) - 6 * PVec [k] * x-PVec [k + 1] * 2; Range=3 then F_deriv:=6 * x - 2 * PVec [k] ;;
{Реалізація методу хорд для вирішення характеристичного рівняння}
procedure ChordMethood (var X,Y:real;x1,x2,eps:real;i,Range:integer;PVec:TVec);Ya,Yb,Yk:real;,Xn:real;:integer;:=f(x1,i,PVec,Range);:=f(x2,i,PVec,Range);:=F_deriv(x1,i,PVec,Range);{Вторая похідна} Ya * Y gt; 0 then:=x1; Yk:=Ya; X:=x2; Y:=Yb;:=x2; Yk:=Yb; X:=x1; Y:=Ya ;;:=X ; X:=Xn- (Y/(Y-Yk)) * (Xn-Xk);:=f (X, i, PVec, Range); abs (X-Xk) gt;=eps; ( Lambda =, X: 5: 4); ( root Y=, Y) ;;
end;
{Реалізація методу самоти і уточнення корінь допомогою методу хорд}
procedure Root_limit (var alpha, beta: real; var LVec: TVec; var RootNum:integer;,Range:integer;PVec:TVec);step_h=0.09;,x2,y1,y2:real;,Yb,Yk,Y:real;,Xn,X:real;:real;:integer;:=0;:=alpha;:=x1+step_h;:=f(x1,i,PVec,Range);x2lt;beta do:=f (x2, i, PVec, Range); y1 * y2 lt; 0 then (MainTextColor);
writeln ( Корінь лежить в цих межах: [, x1: 5: 4, laquo ;; , x2: 5: 4, ] );
{Процедура уточнення коренів характеристичного рівняння}
ChordMethood (X, Y, x1, x2, eps, i, Range, PVec);:=k + 1; [k]:=X;:=x2;:=x1 + step_h; 1:=y2;
end;
RootNum:=k; {Число дійсних коренів характеристичного рівняння}
end;
{=================== Тіло програми ==================== =====================}
var AMatrix, CEquival, BMatrix, VMatrix: TMatrix;
X_SelfVec,LVec,U_EMatrix:TVec;_CharacteristicParam,Pk,Pn,Lambda,Max:real;{Параметр p характеристичного рівняння матриці}, k, k1, i, j, num: integer;, m: integer;, Rows: integer;: TVec;
{Параметри характеристичного рівняння рівняння}
Ya,Yb,Yk:real;,Xn,x1,x2:real;,Y:real;,beta,eps:real;:integer;;(MainTextColor);:=0;
Pk:=0;
Read_Range (Range); {Процедура зчитує порядок матриці}
InputMatrix (AMatrix, Range); {Прочитуємо початкову матрицю}
{========================================= =================================}
PlotSameMatrix (CEquival, AMatrix, Range);
{Блок обчислення коефіцієнтом характеристи?? еского рівняння матриці}
ClrScr;
TextColor (MainTextColor);
writeln ( коеффіцент характеристичного рівняння );
for k:=1 to Range - 1 do:=Trace (Range, AMatrix)/k; {Pk - коеффіцент характкрістіч. уравнения}[k]:=Pk;(laquo;Pk_raquo;,k,laquo;=raquo;,Pk:9:4);;(VMatrix,BMatrix,AMatrix,Range,Pk);(AMatrix,CEqu...