How can I plot a mathematical expression of two variables in python?


Question

I have a time- and depth-varying function, simplified to:

def f(z,t):
    return np.exp(-z)*np.sin(t-z)

z = np.linspace(0,3000,num=3001)
t = np.arange(0,40000,4000)

I want to plot the the result for all z at each time step in t, resulting in something like this:

enter image description here

but I don't know how. I'm sure it's very simple, but I'm not used to doing this in python.

1
4
12/11/2012 2:29:13 AM

Accepted Answer

import matplotlib.pyplot as plt
import numpy as np

def f(z,t):
    return np.exp(-z)*np.sin(t-z)

z = np.linspace(0,5,3001)
t = np.arange(0,40000,4000)

for tval in t:
    plt.plot(z, f(z, tval))
plt.show()

enter image description here

10
12/11/2012 2:58:20 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon