Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/55: Рейтинг темы: голосов - 55, средняя оценка - 4.65
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 6

Как преобразовать текстовую строку типа (y = x + 2) в уравнение чтобы можно было посчитать его зная x

02.03.2018, 00:29. Показов 10308. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые коллеги, подскажите пожалуйста как решить такую задачу.

Пользователь вводит в QTextEdit текст типа "y = x + 2" или, например, "y=2**x+7+10+8**x" в общем какое либо уравнение
затем по нажатии кнопки текст считывается в строковую переменную function.

с помощью numpy.arange создается список x = np.arange(left_limit, right_limit, step)

А теперь собственно загвоздка.

Необходимо рассчитать список "y" исходя из уравнения, которое считанно в виде строки в переменную function.

То есть символ x в строке надо как то заменить на переменную x и посчитать уравнение определив y.

Голову себе уже сломал, но чувствую должно быть какое-то простое решение.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2018, 00:29
Ответы с готовыми решениями:

Нужно преобразовать предел так, чтобы его можно было посчитать по Лопиталю
Добрый день, мне нужно преобразовать предел \lim_{x\rightarrow 0}{ctgx}^{sinx} так, чтобы его можно было посчитать по Лопиталю, скажите...

Как преобразовать уравнение, чтобы можно было найти матрицу B
дано уравнение с матрицами http://imagеs.vfl.ru/ii/1554665987/c8630a5e/26100218_m.png и дана обратная матрица А. Как преобразовать...

Как преобразовать файл в биты (в нули и единицы), чтобы потом можно было его зашифровать в код Грея?
Добрый день всем! У меня к вам несколько вопросов, которые касаются следующего: В институте дали задание сделать программу которая...

3
578 / 411 / 68
Регистрация: 09.01.2018
Сообщений: 1,363
02.03.2018, 11:30
Если исходить из того, что функция вводиться без синтаксических и семантических ошибок, и если исходить из того, что в этой введенной функции независимая переменная всегда "х", то имем
Python Скопировано
1
2
3
equal=input("Введите правую(!!!) часть уравнения:")
for x in np.arange(left_limit, right_limit, step):
    print(eval(equal))
1
Эксперт Python
5437 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.03.2018, 15:28
Для numpy объектов существует специальное расширение - numexpr

Python Скопировано
1
2
3
4
5
6
7
>>> import numpy as np
>>> import numexpr as ne
>>> a = np.arange(10)
>>> b = np.arange(0, 20, 2)
>>> c = ne.evaluate("2*a+3*b")
>>> c
array([ 0,  8, 16, 24, 32, 40, 48, 56, 64, 72])
1
1 / 1 / 0
Регистрация: 25.02.2018
Сообщений: 6
05.03.2018, 22:50  [ТС]
Уважаемые коллеги, большое спасибо Вам за ответы.
Наиболее подходящим мне показался пример номер два
его я и реализовал в своей программе. Если кому нибудь интересно как я использовал ответ для своей программы,
то подготовил видео https://youtu.be/SLwvwnqet6Y, в котором использую библиотеку numexpr для преобразования функции которую пользователь вводит в QTextEdit для ее отображения на рисунке Matplotlib.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2018, 22:50
Помогаю со студенческими работами здесь

Как преобразовать математическое уравнение в, введенное в lineEdit, в код и посчитать его?
Вопрос такой. Есть LineEdit, в него вводится выражение, например 4*5-10/2 и нужно чтобы программа посчитала результат, как будто я это...

Как сделать чтобы контролы типа Button можно было перетаскивать по форме?
Пока только начинаю разбираться в Delphi перерыл кучу примеров и уроков но не смог найти подходящих.. Нужно чтобы при зажатой левой...

Как сделать, чтобы можно было редактировать строку в файле?
всем привет , а как реализовать скрипт про редактирование строк в файле ? я создал форму и вот что у меня вышло <!DOCTYPE...

Как привести первое уравнение к такому виду, чтобы в него можно было подставить поток?
есть уравнение для контура вторичной обмотки трансформатора напряжения {dF \over dt} +{L}_{2}{d{i}_{2} \over...

Префаб. Как создать чтобы его можно было открыть?
Сохраняю префаб, он сохраняется не как папка. 1 картинка - как мне надо 2 картинка - как у меня


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер