Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (19.9k points)

I'm trying to graph Exponential and Logistic Population Models for my Differential Equations subject as part of its requirements, this is my code so far, it gets an error when I run it, what should I replace/do for this to run?

import numpy as np

import matplotlib.pyplot as plt

import math

from IPython.display import clear_output

print("Utilize Which Growth Model of Population? (Type A or B)")

print()

print("A Exponential Growth Model")

print("B Logistic Growth Model")

print()

A = int(1)

# Exponential Growth Model

B = int(2)

# Logistic Growth Model

C = input("Growth Model of choice : ")

print()

if C == "A":

    # Definition of Parameters

    print("The Differential Equation of your chosen growth model is P'(t) = r*P(t)")

    print()

    print("Where r = growth parameter")

    print("Where P(t) = total population at a certain time t")

    print("Where t = time")

    print()

    # Explanation of Differential Equation

    print("This equation can be considered as the exponential differential equation")

    print("because its solution is P(t) = P(0)*e^r*t ; where P(0) = Initial Population")

    print()

    print("This equation can be portrayed by using this graph : ")

    # Graph Code

    x, y = np.meshgrid(np.linspace(-50, 50, 10), np.linspace(-50, 50, 10))

    r = float(input("Encode Growth Parameter :"))

    t = float(input("At how many years do you want to solve? :"))

    P = float(input("Encode Population Count :"))

    P = y

    t = x

    x = np.asarray(x, dtype="float64")

    Un = u / P * (math.exp ** (r * t))

    Vn = u / P * (math.exp ** (r * t))

    plt.quiver(x, y, Un, Vn)

    plt.plot([8, 12, 25, 31], [1, 16, 20, 40])

    plt.show()

if C == "B":

    print("The Differential Equation of your chosen growth model is y' = k*y*(M-y)")

    print()

    print("Where k = slope of the function")

    print("Where y = y-value at the specific point")

    print("Where M = limit of y as x approaches infinity")

    print()

    print("This equation is derived using *** ")

I ran this code in python and I expected it to run as I have seen through examples online, but instead I got an "unsupported operand type(s) for ** or pow(): 'builtin_function_or_method' and 'float'" what does this mean?

1 Answer

0 votes
by (25.1k points)

You are getting this error because use are using math.exp as a number, it is actually a function that will raise e to the power of the number you pass in as argument eg”:

math.exp(1) will give you the output as e^1 which is 2.718281828459045

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...