как учесть значения х в текстовом файле для построения графика функции шага - PullRequest
0 голосов
/ 07 июня 2018

Я хочу построить график функции шага, используя значения из текстового файла для запуска уравнений, которые будут создавать график.

Проблема в том, что когда я запускаю скрипт, график не является пошаговой функцией, которая изменяется от 0 -> 0,110, от 0,110 до 0,143 и от 0,143 до 1. Она переходит от 0 до 0, от 0 до0,11, 0,11 до 0,143.Так что, в основном, она строит только пошаговую функцию, основанную на x0, не включая x1.Шаговая функция должна выглядеть так: x0 -> x1, например, 0 -> 0,110, 0,110 -> 0,143, 0,143 -> 1.

Есть ли способ изменить x = df. ['X0'], чтобы он также включал в себя значение x1?Я хотел бы сохранить свой код таким, какой он есть, без изменения всего сценария, если это возможно, используя другой метод.

Мой текстовый файл выглядит примерно так:

      x0     x1        y0        y1
   0.000  0.110 -0.000050 -0.046207
   0.110  0.143 -0.046206 -0.049596
   0.143  1.000 -0.049596  0.000000

Я хотел бы использовать следующие выражения:

1. (((y1-yo)/(x1-x0)*(1-x0))+y0)
2. (-u + K/2)/e

Ниже приведен мой скрипт

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

import pandas as pd

x=[]
y=[]
K=-2.69028905
e=1

df = pd.read_csv('vol_values.txt', delim_whitespace=True)
print(df)
df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0 ) , axis=1)
df['V'] = df.apply(lambda row: -row.u + K/2, axis=1)
df
print(df)
x=df['x0']
x1=df['x1']
y=df['V']
plt.step(x,y)

1 Ответ

0 голосов
/ 08 июня 2018

Попробуйте это

print(df[['x0', 'x1', 'V']])

x0     x1         V
0  0.000  0.110 -0.925485
1  0.110  0.143 -1.207511
2  0.143  1.000 -1.345145

x = [df.x0.iloc[0]] + df.x1.tolist()
# [0.0, 0.11, 0.143000, 1.0]

y = [df.V.iloc[0]] + df.V.tolist()
# [-0.9254854, -0.9254854, -1.207511, -1.34514]

plt.step(x, y)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...