Блог им. 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