从 gnuplot 中的单个列读取复数
Read complex numbers from a single column in gnuplot
我想将存储在文件中的数据绘制成三列,如下所示:
316 0.662500024 180.382+137.860i
317 0.664285719 188.515+135.229i
318 0.666071415 196.834+131.997i
319 0.667857111 205.536+127.380i
320 0.669642866 213.829+122.105i
321 0.671428561 222.220+116.453i
第一列包含样本编号,所以我对它不是很感兴趣。第二列包含频率,第三列包含用 VNA 测量的复阻抗。
我想做的是拆分实部和复数部分以分别绘制它们,或者绘制复数幅度。
根据我在网上阅读的内容,我尝试了这样的事情:
plot 'datafile.data' using (1000*):(sqrt(**2+**2)) '%lf %lf%lfi'
*
但它不起作用,这并不奇怪,因为我是在盲人中这样做的...
感谢您的帮助
将命令更改为
plot 'datafile.dat' using (1000*):(sqrt(**2+**2)) '%lf %lf %lf%lfi'
您遗漏了一个在您的文件中出现的数字。即使您没有使用第一个数字,您 也必须 告诉 gnuplot。
我想将存储在文件中的数据绘制成三列,如下所示:
316 0.662500024 180.382+137.860i
317 0.664285719 188.515+135.229i
318 0.666071415 196.834+131.997i
319 0.667857111 205.536+127.380i
320 0.669642866 213.829+122.105i
321 0.671428561 222.220+116.453i
第一列包含样本编号,所以我对它不是很感兴趣。第二列包含频率,第三列包含用 VNA 测量的复阻抗。 我想做的是拆分实部和复数部分以分别绘制它们,或者绘制复数幅度。
根据我在网上阅读的内容,我尝试了这样的事情:
plot 'datafile.data' using (1000*):(sqrt(**2+**2)) '%lf %lf%lfi'
*
但它不起作用,这并不奇怪,因为我是在盲人中这样做的...
感谢您的帮助
将命令更改为
plot 'datafile.dat' using (1000*):(sqrt(**2+**2)) '%lf %lf %lf%lfi'
您遗漏了一个在您的文件中出现的数字。即使您没有使用第一个数字,您 也必须 告诉 gnuplot。