Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline alekcey  
#1 Оставлено : 4 апреля 2010 г. 1:43:30(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

Приветствую создателей!
Пока ничего не скачивал, но заглянул на http://smath.info/live/?lang=rus
Там немного поигрался с solve на многочленах чуть большей степени (8,16 и у второго члена 3 и 1, не меняя коэффициентов и свободного члена). Второго вещественного решения solve не находит. В других ситуациях, – при чуть большем расстоянии между корнями, – иногда находит… Но ведь это только одна переменная.
Если когда надумаете развить численное решение СНУ, то могу посодействовать добрым словом, начиная, например, с вещественных корней полиномов. samar заглядывал на экспоненту (там я алексей_алексей) и говорил:” Численные методы решения ОДУ и СНУ еще не реализованы. В ближайшем будущем за это возьмемся. Скорее всего это будет в виде отдельного плагина. ”. С численной реализацией ОДУ как базового инструмента можно очень далеко продвинуться в численном решении СНУ, много дальше, чем известные западные пакеты на сегодняшний день. Примеров тому уже есть на экспоненте.

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline smath  
#2 Оставлено : 4 апреля 2010 г. 6:37:23(UTC)
smath


Статус: Administration

Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Мужчина
Российская Федерация

Сказал «Спасибо»: 640 раз
Поблагодарили: 262 раз в 102 постах
Здравствуйте, Алексей.

alekcey написал:
Пока ничего не скачивал, но заглянул на http://smath.info/live/?lang=rus

К сожалению времени на продолжение работы с Live версией у меня, пока, нет, а потому её возможности уже очень сильно уступают Desktop/Handheld версиям. Для тестирования Вы можете загрузить последнюю Desktop Portable бету (её не нужно устанавливать), надеюсь, она Вас приятно удивит последними нововведениями, в том числе и динамической помощью ввода функций, переменных и единиц измерения.

alekcey написал:
Там немного поигрался с solve на многочленах чуть большей степени (8,16 и у второго члена 3 и 1, не меняя коэффициентов и свободного члена). Второго вещественного решения solve не находит. В других ситуациях, – при чуть большем расстоянии между корнями, – иногда находит…

Функция solve(..) действительно очень слабая.

alekcey написал:
Если когда надумаете развить численное решение СНУ, то могу посодействовать добрым словом

Могу заняться этим в любой момент, если мне будет доступен эффективный метод. Буду рад помощи, т.к. самому мне сложно выделить время для задачи, которую нужно изучать с нуля... если Вы что-то порекомендуете, то это вполне может стать началом работы.

alekcey написал:
начиная, например, с вещественных корней полиномов

В программе есть функция polyroots(..), которая позволяет находить в том числе и комплексные корни многочленов.

alekcey написал:
... Скорее всего это будет в виде отдельного плагина...

Достойный метод вполне может через какое-то время (после тестирования) попасть и во встроенные библиотеки SMath Studio.

С уважением, Андрей Ивашов.
Offline alekcey  
#3 Оставлено : 4 апреля 2010 г. 23:29:59(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

Андрей, скачал, немного разобрался на примерах, как работает polyroots(..). Не скажу, что удобная форма задания через вектор коэффициентов. А как с полиномом большой степени, вот я дошёл до 30, и уже не очень удобно? И ещё, как больше значащих цифр задавать на выходе? Но работает мгновенно и, похоже, отлично. Молодцы. Не представляю даже, что за алгоритм.
Уже и не знаю теперь, что могу предложить со своей стороны. Конечно, есть глобальные планы, но до них нужно добраться. Может, попробуете для начала простой вариант метода Драгилева решения СНУ, который уже реализован на Маткаде? Он работает с начальными данными и примеры текстов у меня есть. Сам пакетами не владею, но уни и ещё несколько человек у нас (на экспоненте) его реализовали. У уни универсальный алгоритм, а есть текст, по которому понятен сам метод Драгилева. Одновременно с простым вариантом можно реализовать решение СНУ с числом переменных на единицу > числа уравнений. В случае одной степени свободы такие уравнения возникают, например, при расчёте кинематики пространственных рычажных механизмов. Можно делать анимацию на основе решения… На самом деле, это целое направление, которое ещё никто не начал осваивать.
Насчёт плагина я не писал, а привёл слова Вашего компаньона. Признаться, не знаю ещё, что это такое…
Сам я как-то осилил немного программирования на Паскале, чтобы продемонстрировать возможности, ну, и немного графики в точках, чтобы визуализировать. Но запала разбираться с документацией среды программирования нет по причине невостребованности, а теперь уже и возраста… Думаю, в случае необходимости, у Вашей компании получится реализовать всё и даже больше. Если будем общаться, то, наверное, через почту? Возможно, Вы сначала захотите посмотреть примеры и вообще…
Похоже, в Вашем пакете не строятся неявные графики, я не ошибся? Тогда, почему не строятся?
Offline smath  
#4 Оставлено : 5 апреля 2010 г. 18:35:42(UTC)
smath


Статус: Administration

Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Мужчина
Российская Федерация

Сказал «Спасибо»: 640 раз
Поблагодарили: 262 раз в 102 постах
Здравствуйте.

alekcey написал:
А как с полиномом большой степени, вот я дошёл до 30, и уже не очень удобно?

Как вариант, можно каждый элемент массива перед использованием в polyroots(..) задавать отдельно, с помощью функции el(..), а не вписывать все элементы в массив при его задании.


alekcey написал:
И ещё, как больше значащих цифр задавать на выходе?

В меню "Сервис" > "Опции" > вкладка "Вычисление" > пункт "Точность ответа".


alekcey написал:
Похоже, в Вашем пакете не строятся неявные графики, я не ошибся? Тогда, почему не строятся?

Это правда. Не строятся они потому, что я не нашёл на это времени. На грамотную реализацию любого нового функционала в программе, часто, приходится жертвовать несколькими днями, неделями, а иногда и месяцами жизни (с учётом того, что в день я на SMath Studio трачу в среднем от 2 до 10 часов своего времени). Заметьте, что есть ешё и основная работа, что нужно осуществлять поддержку многочисленных пользователей по всем возможным средствам связи, что постоянно находятся ошибки в уже существующих функциях программы, что помимо создания нового и исправлении старого нужно ещё и проводить оптимизацию кода (иначе прогррамма просто "задохнётся" изнутри), что нужно осуществлять поддержку сервера, сети и сайтов проекта, что любой функционал требует проверки и оптимизации под разные типы устройств и разные операционные системы и т.п... Потому-то не так и просто занятся не самой приоритетной задачей.

alekcey написал:
Может, попробуете для начала простой вариант метода Драгилева решения СНУ, который уже реализован на Маткаде?
...
Если будем общаться, то, наверное, через почту? Возможно, Вы сначала захотите посмотреть примеры и вообще…

Конечно, мой email andrey@smath.info.

С уважением, Андрей Ивашов.
Offline kmihaylovich  
#5 Оставлено : 14 апреля 2010 г. 18:17:49(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
alekcey написал:
Может, попробуете для начала простой вариант метода Драгилева решения СНУ

Каким методом предполагается решать полученную систему ОДУ?
Offline alekcey  
#6 Оставлено : 15 апреля 2010 г. 0:07:49(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

kmihaylovich написал:

Каким методом предполагается решать полученную систему ОДУ?

Уже давно решается разными методами. На Маткаде – Рунге-Кутта, на Паскале – Хемминга, а на Мэпле – не знаю (не помню, вернее).
Для профессиональной же реализации метод решения ОДУ не принципиален по причинам, связанным с особенностями подхода к общей идее…
Offline kmihaylovich  
#7 Оставлено : 15 апреля 2010 г. 1:16:27(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
alekcey написал:

Уже давно решается разными методами. На Маткаде – Рунге-Кутта, на Паскале – Хемминга, а на Мэпле – не знаю (не помню, вернее).
Для профессиональной же реализации метод решения ОДУ не принципиален по причинам, связанным с особенностями подхода к общей идее…

В случае, если система ОДУ будет "жесткой", то разве ее решение будет более простой задачей нежели метод Ньютона-Рафсона?
Offline alekcey  
#8 Оставлено : 15 апреля 2010 г. 2:20:40(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

kmihaylovich написал:

В случае, если система ОДУ будет "жесткой", то разве ее решение будет более простой задачей нежели метод Ньютона-Рафсона?

Тут ситуация другая. Показано, например, что метод Ньютона является частным случаем метода Драгилева. Потом, сам метод Драгилева способен (пока нечасто) находить все решения системы, решать уравнения с числом переменных > числа уравнений – с его помощью находились уравнения линий пересечения поверхностей даже в аналитическом виде (и где тут Ньютоновские методы?)… Короче, об этом много подробнее можно узнать на сайтах экспоненты, посмотреть примеры, публикации. Но с его помощью удобно именно “находить” решения, то есть, область, содержащую решение. А уточнять до “безобразия” лучше чем-нибудь типа деления отрезка для пространственного случая… В до конца не реализованном варианте для метода Драгилева не нужно задавать начальных приближений…
Offline kmihaylovich  
#9 Оставлено : 15 апреля 2010 г. 2:35:51(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
alekcey написал:
kmihaylovich написал:

В случае, если система ОДУ будет "жесткой", то разве ее решение будет более простой задачей нежели метод Ньютона-Рафсона?

Тут ситуация другая. Показано, например, что метод Ньютона является частным случаем метода Драгилева. Потом, сам метод Драгилева способен (пока нечасто) находить все решения системы, решать уравнения с числом переменных > числа уравнений – с его помощью находились уравнения линий пересечения поверхностей даже в аналитическом виде (и где тут Ньютоновские методы?)… Короче, об этом много подробнее можно узнать на сайтах экспоненты, посмотреть примеры, публикации. Но с его помощью удобно именно “находить” решения, то есть, область, содержащую решение. А уточнять до “безобразия” лучше чем-нибудь типа деления отрезка для пространственного случая… В до конца не реализованном варианте для метода Драгилева не нужно задавать начальных приближений…

А все же, если система "жесткая"?. На экспоненте, написано, что если корни ищутся "вслепую", то преимуществ перед методом Ньютона нет.
Offline kmihaylovich  
#10 Оставлено : 15 апреля 2010 г. 2:39:35(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
kmihaylovich написал:
alekcey написал:

Потом, сам метод Драгилева способен (пока нечасто) находить все решения системы, решать уравнения с числом переменных > числа уравнений

Но это же возможно далеко не всегда
Offline alekcey  
#11 Оставлено : 15 апреля 2010 г. 5:06:27(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

kmihaylovich написал:
...

В далёком прошлом, когда, Анатолий Владимирович Драгилев находил решения системы, под которою создавался целый отдел, ему даже не объясняли причин, по которым не брали на вооружение его метод, а вместо этого освоили бюджет, не справившись с системой. И поведение той публики понятно, особенно в свете современной ситуации в обществе. Но вот чего хотите Вы, понять пока трудно. Если Вас интересует что-то конкретное, и оно, как Вы считаете, не освещено в уже известном Вам месте, то давайте ближе к Вашей проблеме. У Вас есть задача, Вам надо её решить? Вы хотите применить метод Драгилева? Сравнить его с чем-то Вам более привычным? В чём проблема? Решайте, сравнивайте, консультируйтесь, предварительно представившись. Так поступали многие…
Offline kmihaylovich  
#12 Оставлено : 15 апреля 2010 г. 15:39:48(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Сама идея метода бесспорно интересна, но на мой взгляд, в данном случае это вполне очевидные вопросы, на которые должны быть четкие ответы
Offline alekcey  
#13 Оставлено : 16 апреля 2010 г. 0:44:19(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

kmihaylovich написал:
Сама идея метода бесспорно интересна, но на мой взгляд, в данном случае это вполне очевидные вопросы, на которые должны быть четкие ответы

Отвечу ещё раз. Если бы Вы уделили время знакомству с методом Драгилева, то такого рода вопросов у Вас бы просто не возникло. Чтобы аргументировать свои слова я привожу Вашу цитату:
kmihaylovich написал:
На экспоненте, написано, что если корни ищутся "вслепую", то преимуществ перед методом Ньютона нет.

На самом деле в этом месте сравнивается метод Ньютона и метод продолжения по параметру, который имеет ещё название метод гомотопии. Если у Вас имеется интерес к методу Драгилева, то уж в начальном описании можно было разобраться. Не разобравшись в начале, что можно понять дальше? Не буду говорить, какие ещё напрашиваются ответы на Ваши вопросы. Но не нельзя не заметить, что я, как мог, подталкивал Вас к более внимательному ознакомлению с идеей. Вы предпочли заняться чем-то другим…
(Что касается “жестких” участков траектории, и прочих плохих обусловленностей, то Вы поймёте разницу между Ньютовскими методами и непосредственным движением по кривой, если внимательно ознакомитесь с материалом. Единственное место, которое вызывает трудность для метода Драгилева – это точка самопересечения. Но здесь 0/0, и теория бессильна. Но проскочить можно, и именно за счёт вычислительных погрешностей…)

Отредактировано пользователем 16 апреля 2010 г. 0:47:06(UTC)  | Причина: Не указана

Offline kmihaylovich  
#14 Оставлено : 16 апреля 2010 г. 1:02:19(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
alekcey написал:
Не буду говорить, какие ещё напрашиваются ответы на Ваши вопросы...

Какие же? Если Вы сводите к решению системы ОДУ, то неизбежно столкнетесь с системами такого рода. И далее если решаете методом Рунге-Кутта, то как минимум с модификацией Мерсона и скорость вычислений при этом станет хуже по сравнению с изначальным применением градиентных методов..
В полиномах существуют множество методов, которые позволяют получить весь спектр корней (включая комплексные), при этом не нужно решать никаких систем вообще.


Отредактировано пользователем 16 апреля 2010 г. 1:14:11(UTC)  | Причина: Не указана

Offline alekcey  
#15 Оставлено : 16 апреля 2010 г. 1:36:53(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

kmihaylovich написал:
... Если Вы сводите к решению системы ОДУ, то неизбежно столкнетесь с системами такого рода. И далее если решаете методом Рунге-Кутта, то как минимум с модификацией Мерсона и скорость вычислений при этом станет хуже по сравнению с изначальным применением градиентных методов..
В полиномах существуют множество методов, которые позволяют получить весь спектр корней (включая комплексные), при этом не нужно решать никаких систем вообще.



Проблема одна – точка самопересечения.

У нас не обычные ОДУ, у нас всегда есть исходные уравнения, которые позволяют корректировать траекторию, а не доверяться до конца точности решения ОДУ. При простом варианте реализации алгоритма проблема устойчивости не стоит, но и в этом случае есть исходные уравнения. На данном этапе подразумевается не поиск решения системы в лоб в виде области точки, а поиск сначала, например, линии или поверхности, отвечающей решению каких-либо n-1 илиn-2 уравнений, с дальнейшим движением уже по ним до встречи с точкой. При этом не обойтись без уточнений. Для чего ни Рунге, ни его модификации всё равно не подходят. Подходит, похоже, лишь аналогия метода деления отрезка пополам.
Всё гораздо масштабней. Думаю, не за горами численная процедура полного решения системы алгебраических уравнений (посмотрите, на каком этапе спотыкается Математика). Жалко, не могу себя заставить освоить тот же Маткад, но, может быть, сагитирую кого-нибудь когда-нибудь написать...
Offline kmihaylovich  
#16 Оставлено : 16 апреля 2010 г. 2:09:06(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Но метод "вилки" имеет медленную сходимость.Думаю, что возможно применить более быстрый метод.
А для чего нужен MathCAD? Решение системы ОДУ можно реализовать намного лучше чем это сделано в MathCAD и реализация метода будет быстрее и лучше, чем на листе MathCAD.
В данном случае под полным решением системы понимается нахождение решений только в действительной области или в комплексной тоже?

Отредактировано пользователем 16 апреля 2010 г. 2:19:51(UTC)  | Причина: Не указана

Offline alekcey  
#17 Оставлено : 16 апреля 2010 г. 2:48:15(UTC)
alekcey


Статус: Member

Группы: Registered
Зарегистрирован: 04.04.2010(UTC)
Сообщений: 16
Откуда: Ростов

Маткад исключительно из-за читабельности, потом, не обойтись без символьных вычислений. А другие, чем в пакете методы решения ОДУ, случись в них особая потребность, можно написать прямо там. Деление пополам по причине простоты и надёжности, но, признаюсь, до конца не представляю его пространственный вариант. Не исключаю применения стандартных функций, поскольку само приближение получается довольно приличным, да и уточнение требуется больше для подстраховки. Но это всё варианты...
Как ни странно, для системы много проще рассматривать все корни, чем отдельно вещественные, а для одного уравнения наоборот. Это из-за особенностей, как самих алгебраических уравнений, так и Метода. Тут как бы вместе слабые и сильные места универсального подхода. Идея изложена в конце той же темы … F(X)=0, найти нетрудно в неизбежной, но небольшой, кучке “мусора”…
Offline kmihaylovich  
#18 Оставлено : 16 апреля 2010 г. 3:33:29(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Для того чтобы разбираться и реализовывать данный метод, необходимо, для начала, убедиться в его уникальности, просто пока сложилось впечатление, что используемые попутно методы, такие как деление пополам, Рунге, проскакивать особенности за счет вычислительных погрешностей, делают его довольно медленным а в последнем случае не надежным
Offline Samar  
#19 Оставлено : 16 апреля 2010 г. 3:38:07(UTC)
Samar


Статус: Member

Группы: Registered
Зарегистрирован: 15.07.2008(UTC)
Сообщений: 102
Мужчина
Откуда: Брест

Сказал «Спасибо»: 8 раз
Поблагодарили: 2 раз в 2 постах
Если я правильно понял, то смысл метода Драгилева состоит в том, чтобы решение системы нелинейных уравнений свести к решению задачи Коши?
Offline kmihaylovich  
#20 Оставлено : 16 апреля 2010 г. 3:47:29(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Samar написал:
Если я правильно понял, то смысл метода Драгилева состоит в том, чтобы решение системы нелинейных уравнений свести к решению задачи Коши?

Сведение к задаче Коши это один из инструментов для достижения поставленной цели
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.