как создать график из полученных данных?

import matplotlib.pyplot as plt 
import numpy as np 
import math

C0 = 0.03
Cs = 1.4
T = 1193
t = 2160
L = 0.003
D0 = 2.3*10**-5
Ea = 148000
R = 8.31
D = D0*math.exp((-Ea)/(R*T))
x = np.arange(0, 0.003, 0.0003)
m = math
i = np.arange(0, 0.003, 0.0003)
for n in range(1, 11):
    for x in np.arange(0, 0.003, 0.0003):
        def a(C0, Cs, x, L, t, n, D):
            return ((2*(C0-Cs)*(1-(-1)**n))/(n*m.pi))+(m.sin(n*m.pi*x)/L)+m.exp((-D*(((n*m.pi)/L)**2)*t))
        C = a(C0, Cs, x, L, t, n, D)

Ответы (1 шт):

Автор решения: CrazyElf

Я избавился от некоторых ненужных переменных и перевёл все вычисления в векторный формат, используя numpy вместо math, так короче и понятнее:

import matplotlib.pyplot as plt 
import numpy as np 

def a(C0, Cs, x, L, t, n, D):
    return ((2*(C0-Cs)*(1-(-1)**n))/(n*np.pi))+(np.sin(n*np.pi*x)/L)+np.exp((-D*(((n*np.pi)/L)**2)*t))

C0 = 0.03
Cs = 1.4
T = 1193
t = 2160
L = 0.003
D0 = 2.3*10**-5
Ea = 148000
R = 8.31
D = D0*np.exp((-Ea)/(R*T))
x = np.arange(0, 0.003, 0.0003)
for n in range(1, 11):
    y = a(C0, Cs, x, L, t, n, D)
    plt.plot(x, y)

введите сюда описание изображения

→ Ссылка