Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 22.05.2019, 22:05   #1
Solver`s
Новичок
 
Регистрация: 03.12.2016
Сообщений: 2
Репутация: 10
По умолчанию Не работает функция solve. У меня есть два уравнения из которых мне нужно вывести значения А, ω, x_dot, alpha_dot.

Здравствуйте.
У меня есть два уравнения из которых мне нужно вывести значения А, ω, x_dot, alpha_dot.
Вот код:
Код:
%typeset_mode True
import numpy as np
import scipy
import matplotlib.pyplot as plt
import numpy.fft as fft
import matplotlib
import matplotlib.pyplot as plt1
import matplotlib.pyplot as plt2
from scipy import integrate, optimize, interpolate
from scipy.special import gamma
# y = [0..3]
# x=y[0]
# x_dot=y[1]
# alpha=y[2]
# alpha_dot=y[3]
%var angle1, x, x_dot,x1dot, x2dot, epsilon, A, Aa, alpha, alpha_dot, m1, m2, k1,g, l1, Ek, Ep, Lagran1, Lagran2
Ek = m2*((x_dot^2)+(2*x_dot*l1*cos(alpha)*alpha_dot)+(l1^2)*(alpha_dot^2)*((cos(alpha)**2)-(sin(alpha)**2)))/2
Ep = m2*g*(l1-l1*cos(alpha))+(k1*(x^2)/2)
L = Ek - Ep
Ldiff = L.diff(x_dot )
Ldiff2 = L.diff(alpha_dot)
t=var('t')
xdot_tmp = var ('X_Dot')
alphadot_tmp = var ('Alpha_Dot')
alpha_tmp = function ('Alpha')(t)# For substitution alpha
x_tmp = function ('X')(t) #For substitution x
angle1 = var ('theta')
Ldiff3 = Ldiff.subs([x_dot==x_tmp.diff(t), x==x_tmp ,alpha==alpha_tmp,alpha_dot==alpha_tmp.diff(t)]).diff(t)
Ldiff4 = Ldiff2.subs([x_dot==x_tmp.diff(t), x==x_tmp ,alpha==alpha_tmp,alpha_dot==alpha_tmp.diff(t)]).diff(t)
Lagran1 = Ldiff3-L.diff(x)-A*sin(angle1*t)
Lagran2= Ldiff4-L.diff(alpha)
print ('Lagran1')
Lagran1
print ('Lagran2')
Lagran2
omega =var ('omega') #For subs second derivative alpha. It is pendulum acceleration
Aa =var('A') #For subs second derivative x. It is trolley acceleration
eq1=Lagran1.subs([x_tmp.diff(t)==x_dot,x_tmp==x,alpha_tmp.diff(t)==alpha_dot,alpha_tmp==alpha, alpha_tmp.diff(t).diff(t)==omega, x_tmp.diff(t).diff(t)==Aa])
print ('eq1')
eq1
eq2=Lagran2.subs([x_tmp.diff(t)==x_dot,x_tmp==x,alpha_tmp.diff(t)==alpha_dot,alpha_tmp==alpha, alpha_tmp.diff(t).diff(t)==omega, x_tmp.diff(t).diff(t)==Aa])
print ('eq2')
eq2
solve([ eq1,eq2  ],[Aa,omega ])
#x_dot is trolley velocity
#alpha_dot is pendulum velocity
solve([ eq1,eq2  ],[x_dot,alpha_dot ])
Полазив в интернете я решил, что проще всего будет сделать это при помощи функции "solve". Значения А, ω вывелись без проблем, а вот при выводе x_dot, alpha_dot появляются только пустые скобки.
Что я сделал неверно и как исправить код так, чтобы значения выводились?
Заранее спасибо за ответы.
Solver`s вне форума   Ответить с цитированием
Старый 23.05.2019, 00:09   #2
Solver`s
Новичок
 
Регистрация: 03.12.2016
Сообщений: 2
Репутация: 10
По умолчанию

Вопрос снят.
Solver`s вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно найти количество предложений, в которых есть одинакове слова. KEX_:) Общие вопросы C/C++ 0 27.11.2017 00:09
из таблицы сделать выборку тех монет, которых у меня нет? то есть небольшая сводная таблица, где будет постоянно актуальная информация uq_jigsaw Microsoft Office Excel 5 06.02.2017 23:36
Sendmail работает, функция mail() работает, но есть проблема. PavelNAndreev PHP 8 27.01.2014 12:45
Вывести на экран предложения, в которых есть хотя бы одно слово состоящее из 7 букв Shonny94 Помощь студентам 0 18.02.2013 17:40
Вывести в один ListBox шрифты которые у меня есть в Windows, а во второй размеры шрифтов Nikita1987 WPF, UWP, WinRT, XAML 2 08.05.2011 03:20


14:16.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru