Я хочу построить график уравнения в Python, который имеет переменную решения с обеих сторон в виде некоторой функции.Уравнение:
i = Ip - Io*(exp((V+i*R1)/(n*Vt)) - 1) - (V +I*R1)/(R2)
, где Ip, Io, n, R1, R2, Vt
- некоторые константы.
Я хочу перебрать V
в диапазоне (0,10)
и получить значения для i
, используяPython и построить график V-i
.
import numpy as np
from sympy import *
import matplotlib.pyplot as plt
r = 50
V = np.linspace(0,10,r)
def current():
current = []
for t in V:
i = np.zeros(r)
Ipv = 3
Rs = 0.221
Rsh = 415
n = 2
m = 1.5
T = 302
Eg = 1.14
K = 1.3
Vt = T/11600
Io = K*(T**m)*exp(-Eg/(n*Vt))
i = Ipv - Io *(exp((t + Rs*i)/(n*Vt)) - 1) - (t + Rs * i)/Rsh
current.append(i)
return np.array(current)
Icurrent = current()
plt.plot(V,Icurrent)
plt.show()
Я сделал это, но это не работает.
Любые предложения приветствуются.