我创建了一个循环,该循环应该以0.00400000为增量从0.00000000到可变数进行计数。循环工作正常(不是从零开始),但是我无法将循环保存到列表中。我想将此循环(我的时间循环)与另一个我拥有的列表(当前)相对应,以显示电流如何随时间变化。
主要问题是我无法将时间保存到列表中,并且该列表的长度必须与当前列表的长度相同。
我尝试制作循环,但是不知道如何将迭代保存到列表中以供日后绘制。
import numpy as np
N, v1, v2 = np.loadtxt(r'C:\Users\laure\OneDrive\Documents\DropData\Drop4Data(Complete)1MMod.txt', unpack = True)
#Calculate Current from Voltage Drop
V= [v1[i] -v2[i] for i in range(len(v1))]
R= 1000000
I= [V[i] / R for i in range (len(V))]
Loop= len(I)*0.004
T=0
while T <= Loop:
T+= 0.00400000
如果我只打印T,则可以正常工作并将值打印在不同的行中。
当我尝试在图形中使用T作为轴值时,它告诉我“ x和y必须具有相同的长度”。当我尝试查看T多长时间时,它说“类型为'float'的对象没有len()”
答案 0 :(得分:0)
简单来说就是每次增加变量时都有一个数组来存储变量。
import numpy as np
N, v1, v2 = np.loadtxt(r'C:\Users\laure\OneDrive\Documents\DropData\Drop4Data(Complete)1MMod.txt', unpack = True)
#Calculate Current from Voltage Drop
V= [v1[i] -v2[i] for i in range(len(v1))]
R= 1000000
I= [V[i] / R for i in range (len(V))]
Loop= len(I)*0.004
T=0
x_steps = []
while T <= Loop:
x_steps.append(T) # append the current number to the array
T+= 0.00400000
不过,更好的方法是进行np.linspace
调用:
np.linspace(0,len(I)*.004, 0.004)
答案 1 :(得分:0)
您可以创建两个列表,一个存储索引,一个存储T值。然后,您可以使用两个列表来绘制值。
import numpy as np
N, v1, v2 = np.loadtxt(r'C:\Users\laure\OneDrive\Documents\DropData\Drop4Data(Complete)1MMod.txt', unpack = True)
#Calculate Current from Voltage Drop
V= [v1[i] -v2[i] for i in range(len(v1))]
R= 1000000
I= [V[i] / R for i in range (len(V))]
Loop= len(I)*0.004
T=0
i = 0
T_list = []
axis_list = []
while T <= Loop:
T+= 0.00400000
T_list.append(T)
axis_list.append(i)
i = i + 1