Я хочу построить график функции шага, используя значения из текстового файла для запуска уравнений, которые будут создавать график.
Проблема в том, что когда я запускаю скрипт, график не является пошаговой функцией, которая изменяется от 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)