Нужна помощь в написании скрипта для решения этого квадратичного решения - PullRequest
0 голосов
/ 02 июля 2019

Я действительно новичок в Python и мало что знаю, кроме основ печати и решения основ Python. Мне нужно написать скрипт, который следует следующей спецификации:

Пользовательские данные

p1 = (x1, y1)

p2 = (x2, y2)

также (d1,d2) является фиксированной точкой

Утилиты создают линейную область для возможных результатов в виде
у = мх + с

Примечание: максимальное значение (x * -d1) (y * -d2)
Замена y как mx + c и решение уравнения (x * -d1) (mx * + c-d2)

max⁡ значения функции = mx * ^ 2 + cx * -d2x * -md1x * -cd1 + d1d2… ..equation (X)

lim в пределах значений x в строке y = mx + c⌉

Из служебных программ получите очки (x1, y1) (x2, y2) и исправьте точку несогласия (d1, d2)

Найти наклон линии = (y2-y2) / (x2-x1)
Найдите значение c в уравнении y = mx + c, заменив y = y1, x = x1 и рассчитав m.
Замените значения m, x, d1, d2 и c.
Решите все уравнения, заменив все возможные значения x в строке, созданной двумя точками, чтобы найти x *
Вернуть максимальное значение и соответствующее значение x в строке.

Например,
если (x1) = 10 и (x2) = 20 Программа должна включить все возможные значения в диапазоне в приведенное выше уравнение X, а затем вернуть максимальное значение функции с соответствующей ей ординатой x

У меня не так много, так как я совсем новичок в кодировании в целом. Все, что у меня есть, это как пользовательский ввод для x1, y1 x2, y2 d1 и d2. В настоящее время я устанавливаю модуль scipy, который я нашел в Интернете, чтобы посмотреть, смогу ли я над ним поработать, но я очень плох в любом синтаксисе на python. Не могли бы вы помочь мне? Буду признателен.

Это то, что я имею до сих пор:

def slope():

    result = ''
    x = float(input("Player 1 Utility for green"))
    y = float(input("Player 2 ulitity for red"))
    a = float(input("Player 1 utility for red"))
    b = float(input("Player 2 utility for green"))
    m = (y-b)/(x-a)
    yint = y - (m*x)
    if yint < 0:
        sign='-'
    else:
        sign='+'
    result = str("y="),str(slope),str("x"),sign,str(yint)
    return result
print(slope())
import pylab as plt
import numpy as py
import sumpy as sy
import scipy as sc
def slope():

    result = ''
    x = float(input("Player 1 Utility for green"))
    y = float(input("Player 2 ulitity for red"))
    a = float(input("Player 1 utility for red"))
    b = float(input("Player 2 utility for green"))
    m = (y-b)/(x-a)
    yint = y - (m*x)
    if yint < 0:
        sign='-'
    else:
        sign='+'
    result = str("y="),str(slope),str("x"),sign,str(yint)
    return result
print(slope())

def bargaining_solution(x,m,c,d1,d2)

return max mx^2 + cx - d2x - md1x -cd1+ d1d2
...