Как решать линейные уравнения с помощью python

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

2x + 10 = 20 ==> x = 5 

В приведенном выше примере, как бы я использовал пользовательский ввод с массивом numpy?

print('Select Mathematical Operation.')
print('1. Addition') 
print('2. Subtraction')
print('3. Multiplication')
print('4. Division')

userchoice = input ('Enter choice (1/2/3/4): ')

import numpy as np
x = int(input("Enter x:"))
y = int(input("Enter y:"))
w = int(input("Enter w:"))
a = np.array([[x],[y]])
b = np.array([w])
z = np.linalg.solve(a,b)
return z

person wearierbeast renfrow    schedule 01.04.2019    source источник


Ответы (1)


Вы можете создать матрицу с n измерениями (n — количество неизвестных переменных) и добавить все значения к этой матрице, затем инвертировать ее и умножить на правую часть уравнения, чтобы найти переменную матрицу. Все эти операторы доступны в numpy. Вы можете обнаружить буквы с обработкой строк, чтобы определить количество переменных и значений. Или спросите об этом пользователя. Для математической подготовки: https://m.youtube.com/watch?v=7euvxjnvzYc

person Yunus Güngör    schedule 01.04.2019