Блог им. autotrade

--[[
Индикатор расчета матриц
параметры:
--]]
Settings={
Name="matrix_ma_v1",
line=
{
{
Name = "cur1",
Type =TYPE_LINE,
Width = 2,
Color = RGB(0,0, 255)
},
{
Name = "cur1",
Type =TYPE_LINE,
Width = 2,
Color = RGB(255,0, 255)
}
}
}
function Init()
return 2
end
function getretm(cnt, mas)
b={{},{}}
for k=1, cnt do
for i=1, cnt do
b[i] = {}
for j=1, cnt do
if (i==k) and (j==k) then
<a name="cut"></a> b[i][j] = 1/mas[i][j]
end
if (i==k) and (j~=k) then
b[i][j] = (-mas[i][j])/mas[k][k]
end --[[ --]] --[[ --]]
if (i~=k) and (j==k) then
b[i][j] = mas[i][k]/mas[k][k]
end
if (i~=k) and (j~=k) then
b[i][j] = mas[i][j] - mas[k][j] * mas[i][k]/mas[k][k]
end
end
end
for i= 1, cnt do
for j= 1, cnt do
mas[i][j]= b[i][j]
end
end --[[--]]
end
end
function getmultm(cnt, mas1, mas2, mas3)
for i=1, cnt do
d = 0
for j=1, cnt do
d = d + mas2[j]*mas1[i][j] --[[--]]
end
mas3[i] = d
end
end
function OnCalculate(index)
if index == 1 then
-- matrix dimension
cnt = 2
mas={{},{}}
k = 0
for i=1, cnt do
mas[i] = {}
for j=1, cnt do
k = k + 1
mas[i][j] = k
end
end
masel = {}
masel[1] = 1
masel[2] = 2
masres = {}
getretm(cnt, mas)
getmultm(cnt, mas, masel, masres)
end
return masres[1], masres[2]
end 




