program Project1; {$mode objfpc}{$H+} uses Math, SysUtils; const v1Min = 1.0; v1Max = 3.0; dv1 = 0.5; v2Min = 1.0; v2Max = 5.0; dv2 = 0.5; a = 1.0; b = -2.0; c = 100; EPS = 1E-3; REL_ERROR = 0.02; var v1, v2, res, dres: Double; F: TextFile; begin AssignFile(F, 'linear_regression_2vars.csv'); Rewrite(F); WriteLn(F, 'Var1,Var2,Result,Weights'); v1 := v1Min; while v1 <= v1Max + EPS do begin v2 := v2min; while v2 <= v2Max + EPS do begin res := a * v1 + b * v2 + c; dres := res * REL_ERROR; res := res + RandG(0, dres); WriteLn(F, v1:0:3, ',', v2:0:3, ',', res:0:3, ',', dres:0:3); v2 := v2 + dv2; end; v1 := v1 + dv1; end; CloseFile(F); end.