关于Amplitud的语法错误

2024-04-26 09:53:38 发布

您现在位置:Python中文网/ 问答频道 /正文

下午好

我目前正在寻找比较电压幅度与时间的测量从示波器。我正在从Linux终端运行代码,目前遇到以下错误:

    ValueError: Invalid number of FFT data points (0) specified.
    NameError: name 'yf' is not defined

我的代码如下:

import csv
import matplotlib.pyplot as plt
import numpy as np
from scipy.fftpack import fft


sample_interval= -1
sample_num = -1
time = []
amplitude = []
with open('nofilter-1.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    for row in readCSV:
        time.append(row[3]);
        amplitude.append(row[4]);
        if(row ==1):
            sample_interval = row[1]
        if(row ==2):
            sample_num = row[1]
# sample spacing
print("syntax")
yf = fft(amplitude)
xf = np.linspace(0.0, 1.0/(2.0*sample_interval), sample_num/2) 
fig, ax = plt.subplots()
ax.plot(xf, 2.0/sample_num * np.abs(yf[:sample_num//2]))
plt.show()

我是否遇到语法错误或变量定义不正确?你知道吗


Tags: csvsamplecsvfile代码importffttimeas
1条回答
网友
1楼 · 发布于 2024-04-26 09:53:38

很抱歉回复太晚了!下面是我正在处理的.csv文件的一个片段。 .csv file

可以看到,第1列和第3列包含某种形状或形式的字符串,这就是为什么我在代码中指出我可能混淆了行和列。我听从了博布罗布的建议,但运气很差。你知道吗

相关问题 更多 >