![]() |
|
|
#1
|
|||
|
|||
![]() Здравствуйте, ребят подскажите пожалуйста мучаюсь уже не первый час! Как мне это реализовать в Delphi? Куда именно это написать -(
Код:
procedure Tform1.Regress(num: integer); {num кол-во элементов} var a, b, x_avg, y_avg, temp, temp2, cor: real; t, min, max: integer; ch: char; begin y_avg := 0; x_avg := 0; for t := 1 to num do begin y_avg := y_avg + StrToFloat(StringGrid1.Cells[t,1]); x_avg := x_avg + StrToFloat(StringGrid1.Cells[t,0]); end; x_avg := x_avg/num; y_avg := y_avg/num; temp := 0; temp2 := 0; for t := 1 to num do begin temp := temp +(StrToFloat(StringGrid1.Cells[t,1]) - y_avg)*(StrToFloat(StringGrid1.Cells[t,0])-x_avg); temp2 := temp2 +(t - x_avg)*(t-x_avg); end; b := temp/temp2; a := y_avg-(b*x_avg); Image1.Canvas.Brush.Color:=clWhite; Image1.Canvas.Pen.Color:=clWhite; Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height); Image1.Canvas.Brush.Color:=clRed; Image1.Canvas.Pen.Color:=clRed; For t:=1 to num do image1.Canvas.Ellipse(Trunc(StrToFloat(StringGrid1.Cells[t,0]))-2,Image1.Height -Trunc(StrToFloat(StringGrid1.Cells[t,1]))-2, Trunc(StrToFloat(StringGrid1.Cells[t,0]))+2,Image1.Height -Trunc(StrToFloat(StringGrid1.Cells[t,1]))+2); Image1.Canvas.Pen.Color:=clBlack; image1.Canvas.MoveTo(1, Image1.Height - Trunc(a+b)); image1.Canvas.LineTo(100,Image1.Height - Trunc(a+b*100)); Label2.Caption:='Y = '+FloatToStr(Trunc(b*100)/100)+'x + '+FloatToStr(Trunc(a*100)/100); end; |
#2
|
|||
|
|||
![]() Поможет кто? Не особо понимаю куда эту процедуру надо вписать ((
|
#3
|
|||
|
|||
![]() в модуль формы Form1 перед End.
в описание формы вписать : Код:
procedure Regress(num: integer); Код:
type TForm1 = class(TForm) BitBtn1: TBitBtn; sNotebook1: TsNotebook; sLabel1: TsLabel; Image1: TImage; Button1: TButton; Image2: TImage; Button2: TButton; Notebook1: TNotebook; BitBtn2: TBitBtn; StringGrid1: TStringGrid; procedure Regress(num: integer); procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; для вызова процедуры в обработчике события кнопки (например) вызываете по ее имени! Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#4
|
|||
|
|||
![]() Цитата:
|
#5
|
|||
|
|||
![]() остальное это что? конкретнее пожалуйста!
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#6
|
|||
|
|||
![]() Цитата:
Код:
type TForm1 = class(TForm) BitBtn1: TBitBtn; sNotebook1: TsNotebook; sLabel1: TsLabel; Image1: TImage; Button1: TButton; Image2: TImage; Button2: TButton; Notebook1: TNotebook; BitBtn2: TBitBtn; StringGrid1: TStringGrid; procedure Regress(num: integer); procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Код:
var a, b, x_avg, y_avg, temp, temp2, cor: real; t, min, max: integer; ch: char; begin y_avg := 0; x_avg := 0; for t := 1 to num do begin y_avg := y_avg + StrToFloat(StringGrid1.Cells[t,1]); x_avg := x_avg + StrToFloat(StringGrid1.Cells[t,0]); end; x_avg := x_avg/num; y_avg := y_avg/num; temp := 0; temp2 := 0; for t := 1 to num do begin temp := temp +(StrToFloat(StringGrid1.Cells[t,1]) - y_avg)*(StrToFloat(StringGrid1.Cells[t,0])-x_avg); temp2 := temp2 +(t - x_avg)*(t-x_avg); end; b := temp/temp2; a := y_avg-(b*x_avg); Image1.Canvas.Brush.Color:=clWhite; Image1.Canvas.Pen.Color:=clWhite; Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height); Image1.Canvas.Brush.Color:=clRed; Image1.Canvas.Pen.Color:=clRed; For t:=1 to num do image1.Canvas.Ellipse(Trunc(StrToFloat(StringGrid1.Cells[t,0]))-2,Image1.Height -Trunc(StrToFloat(StringGrid1.Cells[t,1]))-2, Trunc(StrToFloat(StringGrid1.Cells[t,0]))+2,Image1.Height -Trunc(StrToFloat(StringGrid1.Cells[t,1]))+2); Image1.Canvas.Pen.Color:=clBlack; image1.Canvas.MoveTo(1, Image1.Height - Trunc(a+b)); image1.Canvas.LineTo(100,Image1.Height - Trunc(a+b*100)); Label2.Caption:='Y = '+FloatToStr(Trunc(b*100)/100)+'x + '+FloatToStr(Trunc(a*100)/100); end; |