![]() |
Цитата:
|
Тоже задам дилетантский вопрос: а matlab не пробовали для решения системы уравнений?
Или пакет matematica, к примеру? |
Цитата:
Я применяю метод "2" для этих же расчетов. Ученики моего НР уже разработали численную модель с помощью метода 2. (на уровне программного кода, без интерфейса естественно, т.к. для этого нужно уже нанимать программистов нужны деньги и т.д.) И считают, что она считает быстрее и точнее чем программы на основе метода "1". Эти же ученики применяли уже и аналитическую модель на основе метода "2" но на вид устройств назовем их У1. У них кстати тоже возникали проблемы при использовании аналитической модели, ни всегда удавалось получить результат (решить уравнения). Я же применяю аналитическую модель (на основе метода "2") на другой вид устройств "У2". Повторюсь аналитическая модель отличается простотой построения и вычисления, поэтому аналитическая и численная модели существую параллельно (все равно что автомобиль и велосипед). Вообще НР предполагал ,что с моделированием я очень быстро справлюсь, а потом у него в перспективе были обширные исследования, но вышло все по другому, получение аналитической модели оказалось достаточно трудоемким делом (я ее до сих пор не получил для "У2"), что меня и привело к сомнениям о продолжении своей дисс. работы по этой теме. Добавлено через 9 минут Цитата:
Например: 1Е30 - 1 = 1Е30 программа просто игнорирует вычитаемое при такой большой разнице. Пришлось переходить на длинную арифметику. sclilab ее не поддерживает Поэтому пришлось переписывать программу на более универсальный язык программирования, в частности я использовал java и тип BigDecimal. Он может иметь дело со сколько угодным количеством знаков после запятой. Естественно платой за этой является резкое уменьшение быстродействия. |
А вам критично, чтобы он был бесплатный?
Есть вариант получить как аспиранту через университет пробную бесплатную версию матлаба. На худой конец, найти portable-версию где-нибудь. Иначе самому придется систему разрабатывать, которая это всё решает. |
Переход на другой язык вряд ли поможет.
У Вас стоит t принять значения a2, a5 и т.д. получается деление на нуль в la(t). А в 3 уравнении Вы пытаетесь интегрировать от a2 до а3, в 4м - до а5, в 5-м - от а8, в 6м - до а11 итд. Каждый раз ЛЮБОЙ язык программирования будет давать деление на нуль, то есть плюс-минус бесконечность. В модели ошибка, исключающая нахождение ДЕСЯТИ (а не восьми, на самом деле) неизвестных а2-а11. а5 и а6 НЕ находятся из уравнений под уравнением № 7, так как там в формуле для la5(t) сидит la(t), а в ней - все а2,а3 итд. Когда исправите модель (исключите деления на 0), чтобы найти 10 неизвестных, минимизируйте квадраты разницы между левой и правой частями в уравнениях 1-8. |
Цитата:
Покупка матлаба дорогое удовольствие. Тем более матлаб также как и scilab не будет поддерживать большие числа (длинную арифметику), и то же будет допускать те же ошибки, которые я описывал выше, поэтому мне он не нужен. Добавлено через 10 минут Цитата:
Забыл указать, там 8 неизвестных, т.к. а6 = 0, а7 = 1 Насчет минимизации квадрата разницы ни совсем понял что вы имеет ввиду. Проблема, иногда возникает в том, что интегралы несобственные и расходящиеся, в результате численное интегрирование ни всегда сходится. |
Цитата:
Но после принудительного обнуления интеграл, кстати, несобственным быть перестает. А "расходиться" интеграл не может, это не ряд. Минимизация вместо решения СЛНУ позволяет найти хотя бы приближенное решение. |
Цитата:
Поэтому на это обнуление можно не обращать внимания. Если я не ошибаюсь такие методы как например метод Гаусса-Кронрода как раз и используется для численного решения несобственных интегралов второго рода. |
А Вы к.ф.-м.н. защищать будете или технические?
|
Цитата:
|
Текущее время: 03:31. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»