|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Wolfram Mathematica] - Решение системы интегральных уравнений |
|
|
Разное - [Wolfram Mathematica] - Решение системы интегральных уравнений
|
Новый участник Сообщения: 26 |
Профиль | Отправить PM | Цитировать Здравствуйте, друзья!
Следующая проблема: имеется система из двух дифференциальных уравнений, решением которой является бигармоническая функция, имеется 8 начальных условий. Решение произвожу средствами стандартной функции DSolve[]. Начальные условия задаю следующим образом: начальное_условие1 := выражение == 0 . Загвоздка состоит в том, что когда функция DSolve[] начинает вычислять, она проверяет начальные условия и получает в качестве аргумента True, а не систему равенств; иными словами, насколько я понял механизм, сначала Математика проверяет истинность начальных условий, а потом передает в DSolve[] в качестве аргумента логическую переменную - True или False (вернее, 8 логических переменных - по одной на каждое из начальных условий). В общем, как мне справиться с этим камнем преткновения? |
|
Отправлено: 09:02, 19-12-2012 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Да, и еще 1 вопрос по теме: если я задал функцию в виде:
f[x_,y_] := x^2+y^2; а потом далее в программе использую f[0,y] или даже f[a,y], где a - некоторая константа, будет ли Математика воспринимать это выражение верно, т.е. произойдет ли подстановка 0 или a в аргумент x функции f? |
Отправлено: 09:05, 19-12-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата TaDa:
Цитата TaDa:
Если есть непонятки с подстановкой граничных условий, то можно получить через DSolve общее решение, а затем через Solve частное. |
||
Отправлено: 19:34, 19-12-2012 | #3 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать pva, спасибо, Ваш ответ был весьма полезен и в сущности разрешил мою проблему.
Могу я задать еще один вопрос, на этот раз относительно решения трансцендентных уравнений: каким образом можно задать область определения коэффициентов, входящих в него, и решения? То есть уравнение задано в символьном виде, и я хочу, чтобы Математика нашла его корни, например, только при положительных коэффициентах и только вещественные. Как я понимаю, нужно прописать что-то дополнительно в Solve[] - вот только что? |
Отправлено: 17:29, 23-12-2012 | #4 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать У меня тоже не получилось заставить это сделать Solve. Но получилось отфильтровать конечные решения:
Select[x /. Solve[{(x^2 + 4)*(x - 2) == 0}], #1 \[Element] Reals & ] |
|
Отправлено: 23:16, 24-12-2012 | #5 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать pva, а не могли бы расшифровать, что здесь написано? Просто еще не приходилось пользоваться этой функцией.
pva, кстати говоря, функция Reduce[] позволяет налагать ограничения на корень и фильтровать решения таким образом. Только вот в моем случае делает она это очень долго - фактически, я даже не знаю, завершится ли когда-нибудь этот процесс. |
Отправлено: 06:19, 18-01-2013 | #6 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать TaDa,
Цитата pva:
Цитата TaDa:
|
||
Отправлено: 22:25, 18-01-2013 | #7 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать pva, спасибо за расшифровку.
У меня теперь другая проблема: задаю функцию таким образом: F1[x_,y_]:=D[F[x,y],x], где F[x,y] - некоторая функция, заданная ранее. Потом хочу вычислить F1[0,y], например. Математика начинает подставлять 0 повсюду, где видит x, и пишет, что 0 не является допустимым значением. Вопрос: можно ли как-то обойти этот механизм? При этом выписывать производную, что называется, "на живую" не хочется - выражение получается слишком громоздким. Да и Hold[0] не дает результата - ведь потом F1 должна войти в систему начальных условий, и последующие вычисления должны быть проделаны с подставленным нулем. |
Отправлено: 19:38, 25-01-2013 | #8 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:10, 26-01-2013 | #9 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать pva, спасибо, этот способ действительно работает.
Вы случайно не знаете, почему Mathematica не может взять гиперболический косинус от числа пи? Возвращает Cosh[Pi]. Странно. |
Отправлено: 08:54, 28-01-2013 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Решение квадратных уравнений на С++ | ShadowMas | Программирование и базы данных | 29 | 20-05-2011 17:23 | |
Разное - [Paskal] решение систем дифференциальных уравнений методом Эйлера( доработка) | Killer92 | Программирование и базы данных | 0 | 19-12-2010 13:21 | |
C/C++ - Решение кубических уравнений на С++ | XEN_STRANGER | Программирование и базы данных | 16 | 02-04-2009 14:19 | |
Теория - Решение системы уравнений | quaker_strelok | Программирование и базы данных | 3 | 23-09-2007 14:29 | |
*Теория* | Решение системы линейных уравнений | DeadBoy | Программирование и базы данных | 5 | 23-02-2005 17:12 |
|