There is a formula:

Formula 1

R is the reproduction rate of the population in the absence of intraspecific competition (mathematically, this corresponds to the case a = 0).

Then the equation simply determines the change in population size according to the law of a geometric progression:

enter image description here

where N0 is the initial population size.

The values ​​a = 5, b = 8, N0 = 200 are also given depending on the value of the parameter R in the range 1 ≤ R ≤ 5

So far there is such code:

procedure TForm2.Button1Click(Sender: TObject); const a = 5; b = 8; R = 2; var x0,y0: Integer; x,y: Real; begin // находим центр x0 := Image1.Width div 2; y0 := Image1.Height div 2; // рисуем оси Image1.Canvas.Pen.Color := clGreen; Image1.Canvas.Pen.Width := 2; Image1.Canvas.MoveTo(x0, 0); Image1.Canvas.LineTo(x0, ClientHeight); Image1.Canvas.MoveTo(0, y0); Image1.Canvas.LineTo(ClientWidth, y0); // рисуем график Image1.Canvas.Pen.Color := clRed; Image1.Canvas.Pen.Width := 3; // ... что делать здесь? end; 

How to do next - I do not know. If you tell TChart on TChart , it will also work.

    1 answer 1

    You create a function that accepts sets of input parameters and returns the result as a set of values, which is substituted into TChart .

    Upd:

    To calculate the values, the formula will look something like this:

    If we use an array for storing data, then we can write it this way (first by initializing the array SetLength(...) ), and the calculation itself:

     for i:= 0 to t-1 do N[t+1] := (N[t]*R)/(1+ Power((a*N[t]),b)); 

    // ... what to do here?

    you need to go through the resulting array N and draw a graph, like this:

     Image1.Canvas.MoveTo(0, 0); for i:=0 to Length(N)-1 do Image1.Canvas.LineTo(i, N[i]);