linear h

p_0

p_0=

↓

↑

time (t)

r=

time

population

h(p_t)=

+p_t ·

h(p_t)=

height = 12999.999999999998
r = 0.2
hvar(p_t) = 0.1 * p_t
gvar(x) = r * x - hvar(x)
zerolist8: {Roots[gvar, -100 * height, -height]}
zerolist7: {Roots[gvar, -height, (-height) / 100]}
zerolist6: {Roots[gvar, (-height) / 100, (-height) / 10000]}
zerolist5: {Roots[gvar, (-height) / 10000, 0]}
zerolist4: {Roots[gvar, height * 1.000000000001, height * 100]}
zerolist3: {Roots[gvar, height / 100 * 1.000000000001, height]}
zerolist2: {Roots[gvar, height / 10000 * 1.0000000001, height / 100]}
zerolist1: {Roots[gvar, 0, height / 10000]}
linearharvest = true
h0 = 0
h1 = 0.1
hlinear(p_t) = h0 + h1 * p_t
h = If(linearharvest, hlinear, hvar)
a = Ray((0, 0), (0, 1))
A = Point(a)
f(x) = (1 + r) * x - h(x)
nsteps = 105
x0 = 1000
xs = IterationList(f, x0, nsteps)
points = Sequence((i, Element[xs, i + 1]), i, 0, nsteps)
inputBox1 = Textfield(x0)
text6 = If(linearharvest ∧ h1 ≟ 0, Simplify["p_{t+1}-p_t=" + r + "p_t-" + h0], Simplify["p_{t+1}-p_t=" + r + "p_t-(" + h + ")"])
inputBox3 = Textfield(r)
A2 = 0
A3: A2 + 1
A4: A3 + 1
A5: A4 + 1
A6: A5 + 1
A7: A6 + 1
A8: A7 + 1
A9: A8 + 1
A10: A9 + 1
A11: A10 + 1
A12: A11 + 1
A13: A12 + 1
A14: A13 + 1
A15: A14 + 1
A16: A15 + 1
A17: A16 + 1
A18: A17 + 1
A19: A18 + 1
A20: A19 + 1
A21: A20 + 1
A22: A21 + 1
A23: A22 + 1
A24: A23 + 1
A25: A24 + 1
A26: A25 + 1
A27: A26 + 1
A28: A27 + 1
A29: A28 + 1
A30: A29 + 1
A31: A30 + 1
A32: A31 + 1
A33: A32 + 1
A34: A33 + 1
A35: A34 + 1
A36: A35 + 1
A37: A36 + 1
A38: A37 + 1
A39: A38 + 1
A40: A39 + 1
A41: A40 + 1
A42: A41 + 1
A43: A42 + 1
A44: A43 + 1
A45: A44 + 1
A46: A45 + 1
A47: A46 + 1
A48: A47 + 1
A49: A48 + 1
A50: A49 + 1
A51: A50 + 1
A52: A51 + 1
A53: A52 + 1
A54: A53 + 1
A55: A54 + 1
A56: A55 + 1
A57: A56 + 1
A58: A57 + 1
A59: A58 + 1
A60: A59 + 1
A61: A60 + 1
A62: A61 + 1
A63: A62 + 1
A64: A63 + 1
A65: A64 + 1
A66: A65 + 1
A67: A66 + 1
A68: A67 + 1
A69: A68 + 1
A70: A69 + 1
A71: A70 + 1
A72: A71 + 1
A73: A72 + 1
A74: A73 + 1
A75: A74 + 1
A76: A75 + 1
A77: A76 + 1
A78: A77 + 1
A79: A78 + 1
A80: A79 + 1
A81: A80 + 1
A82: A81 + 1
A83: A82 + 1
A84: A83 + 1
A85: A84 + 1
A86: A85 + 1
A87: A86 + 1
A88: A87 + 1
A89: A88 + 1
A90: A89 + 1
A91: A90 + 1
A92: A91 + 1
A93: A92 + 1
A94: A93 + 1
A95: A94 + 1
A96: A95 + 1
A97: A96 + 1
A98: A97 + 1
A99: A98 + 1
A100: A99 + 1
B2: round(Element[xs, A2 + 1] * 100) / 100
B3: round(Element[xs, A3 + 1] * 100) / 100
B4: round(Element[xs, A4 + 1] * 100) / 100
B5: round(Element[xs, A5 + 1] * 100) / 100
B6: round(Element[xs, A6 + 1] * 100) / 100
B7: round(Element[xs, A7 + 1] * 100) / 100
B8: round(Element[xs, A8 + 1] * 100) / 100
B9: round(Element[xs, A9 + 1] * 100) / 100
B10: round(Element[xs, A10 + 1] * 100) / 100
B11: round(Element[xs, A11 + 1] * 100) / 100
B12: round(Element[xs, A12 + 1] * 100) / 100
B13: round(Element[xs, A13 + 1] * 100) / 100
B14: round(Element[xs, A14 + 1] * 100) / 100
B15: round(Element[xs, A15 + 1] * 100) / 100
B16: round(Element[xs, A16 + 1] * 100) / 100
B17: round(Element[xs, A17 + 1] * 100) / 100
B18: round(Element[xs, A18 + 1] * 100) / 100
B19: round(Element[xs, A19 + 1] * 100) / 100
B20: round(Element[xs, A20 + 1] * 100) / 100
B21: round(Element[xs, A21 + 1] * 100) / 100
B22: round(Element[xs, A22 + 1] * 100) / 100
B23: round(Element[xs, A23 + 1] * 100) / 100
B24: round(Element[xs, A24 + 1] * 100) / 100
B25: round(Element[xs, A25 + 1] * 100) / 100
B26: round(Element[xs, A26 + 1] * 100) / 100
B27: round(Element[xs, A27 + 1] * 100) / 100
B28: round(Element[xs, A28 + 1] * 100) / 100
B29: round(Element[xs, A29 + 1] * 100) / 100
B30: round(Element[xs, A30 + 1] * 100) / 100
B31: round(Element[xs, A31 + 1] * 100) / 100
B32: round(Element[xs, A32 + 1] * 100) / 100
B33: round(Element[xs, A33 + 1] * 100) / 100
B34: round(Element[xs, A34 + 1] * 100) / 100
B35: round(Element[xs, A35 + 1] * 100) / 100
B36: round(Element[xs, A36 + 1] * 100) / 100
B37: round(Element[xs, A37 + 1] * 100) / 100
B38: round(Element[xs, A38 + 1] * 100) / 100
B39: round(Element[xs, A39 + 1] * 100) / 100
B40: round(Element[xs, A40 + 1] * 100) / 100
B41: round(Element[xs, A41 + 1] * 100) / 100
B42: round(Element[xs, A42 + 1] * 100) / 100
B43: round(Element[xs, A43 + 1] * 100) / 100
B44: round(Element[xs, A44 + 1] * 100) / 100
B45: round(Element[xs, A45 + 1] * 100) / 100
B46: round(Element[xs, A46 + 1] * 100) / 100
B47: round(Element[xs, A47 + 1] * 100) / 100
B48: round(Element[xs, A48 + 1] * 100) / 100
B49: round(Element[xs, A49 + 1] * 100) / 100
B50: round(Element[xs, A50 + 1] * 100) / 100
B51: round(Element[xs, A51 + 1] * 100) / 100
B52: round(Element[xs, A52 + 1] * 100) / 100
B53: round(Element[xs, A53 + 1] * 100) / 100
B54: round(Element[xs, A54 + 1] * 100) / 100
B55: round(Element[xs, A55 + 1] * 100) / 100
B56: round(Element[xs, A56 + 1] * 100) / 100
B57: round(Element[xs, A57 + 1] * 100) / 100
B58: round(Element[xs, A58 + 1] * 100) / 100
B59: round(Element[xs, A59 + 1] * 100) / 100
B60: round(Element[xs, A60 + 1] * 100) / 100
B61: round(Element[xs, A61 + 1] * 100) / 100
B62: round(Element[xs, A62 + 1] * 100) / 100
B63: round(Element[xs, A63 + 1] * 100) / 100
B64: round(Element[xs, A64 + 1] * 100) / 100
B65: round(Element[xs, A65 + 1] * 100) / 100
B66: round(Element[xs, A66 + 1] * 100) / 100
B67: round(Element[xs, A67 + 1] * 100) / 100
B68: round(Element[xs, A68 + 1] * 100) / 100
B69: round(Element[xs, A69 + 1] * 100) / 100
B70: round(Element[xs, A70 + 1] * 100) / 100
B71: round(Element[xs, A71 + 1] * 100) / 100
B72: round(Element[xs, A72 + 1] * 100) / 100
B73: round(Element[xs, A73 + 1] * 100) / 100
B74: round(Element[xs, A74 + 1] * 100) / 100
B75: round(Element[xs, A75 + 1] * 100) / 100
B76: round(Element[xs, A76 + 1] * 100) / 100
B77: round(Element[xs, A77 + 1] * 100) / 100
B78: round(Element[xs, A78 + 1] * 100) / 100
B79: round(Element[xs, A79 + 1] * 100) / 100
B80: round(Element[xs, A80 + 1] * 100) / 100
B81: round(Element[xs, A81 + 1] * 100) / 100
B82: round(Element[xs, A82 + 1] * 100) / 100
B83: round(Element[xs, A83 + 1] * 100) / 100
B84: round(Element[xs, A84 + 1] * 100) / 100
B85: round(Element[xs, A85 + 1] * 100) / 100
B86: round(Element[xs, A86 + 1] * 100) / 100
B87: round(Element[xs, A87 + 1] * 100) / 100
B88: round(Element[xs, A88 + 1] * 100) / 100
B89: round(Element[xs, A89 + 1] * 100) / 100
B90: round(Element[xs, A90 + 1] * 100) / 100
B91: round(Element[xs, A91 + 1] * 100) / 100
B92: round(Element[xs, A92 + 1] * 100) / 100
B93: round(Element[xs, A93 + 1] * 100) / 100
B94: round(Element[xs, A94 + 1] * 100) / 100
B95: round(Element[xs, A95 + 1] * 100) / 100
B96: round(Element[xs, A96 + 1] * 100) / 100
B97: round(Element[xs, A97 + 1] * 100) / 100
B98: round(Element[xs, A98 + 1] * 100) / 100
B99: round(Element[xs, A99 + 1] * 100) / 100
B100: round(Element[xs, A100 + 1] * 100) / 100
inputBox4 = Textfield(h0)
inputBox5 = Textfield(h1)
inputBox2 = Textfield(hvar)
E: round(h0 / (r - h1) * 100) / 100
b: y = E
text1: "$ E=" + (LaTeX[E]) + " $"
text3 = RotateText("Population size (p)", 1.5708)
text7: "" + (LaTeX[text6]) + ""
A101: A100 + 1
A102: A101 + 1
A103: A102 + 1
A104: A103 + 1
A105: A104 + 1
A106: A105 + 1
A107: A106 + 1
B101: round(Element[xs, A101 + 1] * 100) / 100
B102: round(Element[xs, A102 + 1] * 100) / 100
B103: round(Element[xs, A103 + 1] * 100) / 100
B104: round(Element[xs, A104 + 1] * 100) / 100
B105: round(Element[xs, A105 + 1] * 100) / 100
B106: round(Element[xs, A106 + 1] * 100) / 100
zerolist = RemoveUndefined(Flatten[{zerolist1, zerolist2, zerolist3, zerolist4, zerolist5, zerolist6, zerolist7, zerolist8}])
B107: round(Element[xs, A107 + 1] * 100) / 100
zerolines = Zip(y = a, a, x(zerolist))
Es = Unique(Zip[round(a * 100) / 100, a, x(zerolist)])
text4: "$ Es=" + (LaTeX[Es]) + " $"