0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 17
|
|
Решение системы ДУ с подтягиванием коэффицентов16.04.2015, 00:42. Показов 698. Ответов 12
Метки нет Все метки)
(
Всем хорошего дня.
Очень надеюсь на Вашу помощь, т.к. уже на пороге отчаяния. Мне нужно обсчитать достаточно сложную систему. Уже два дня читаю гайды, но к успеху не приблизился ни на миллиметр. Что у меня есть: Кинетическая модель хим. реакции. На языке математики - система из 5 ДУ, с большим количеством коэффицентов, которые нельзя хардкодить. В идеале их нужно тянуть из cfg файла. Что мне нужно: Программа, которая позволит мне моделировать процесс, меняя коэффиценты и задавая новые условия. Тому, кто окажет реальную помощь, готов задонатить небольшую сумму на телефон/киви. Сабж в аттаче, сама система - на правой стороне фото
0
|
16.04.2015, 00:42 | |
Ответы с готовыми решениями:
12
Решение неоднородной системы, если известны собственные вектора и значения однородной системы Исследовать совместность и найти общее решение и одно частное решение системы уравнений. |
Модератор
![]() ![]() 5277 / 4059 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
|
|
16.04.2015, 08:09 | |
Milky Way, и где же РЕЗУЛЬТАТ Вашей 2-х дневной работы (в виде программы)? Приведите свои попытки решения этой задачи, тогда Вам гораздо быстрее помогут в ней разобраться...
P.S. И почитайте Правила форума (в частности - 5.18)
0
|
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 17
|
|||||||||||
16.04.2015, 23:01 [ТС] | |||||||||||
VSI, ну я, например, совсем не понимаю, как мне сделать редактируемые коэффиценты.
Хотелось бы это услышать. Сам я смог написать вот это: И оно не запускается ![]()
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||||||
17.04.2015, 11:42 | ||||||
0
|
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 17
|
||||||
19.04.2015, 23:16 [ТС] | ||||||
up!
Добавлено через 1 час 42 минуты Еще свежий вопрос по коду. Синтаксис матлаба переваривает такое присваивание? И как мне, наконец вынести все эти k-шки в отдельный файл, чтобы тянуть их оттуда?
0
|
142 / 142 / 37
Регистрация: 14.12.2013
Сообщений: 221
|
||||||
20.04.2015, 10:39 | ||||||
Milky Way,если я все верно понял
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
21.04.2015, 11:24 | |
Использование чтения из файла внутри функции определения производных напрочь убъет скорость вычислений.
Лучше работать с глобальными переменными. Мне не понятен физический смысл задачи, поэтому что-то советовать не могу. Вы пытаетесь менять коэффициенты во время решения системф дифуравнений? (тогда вопрос в зависимости от чего они меняются) или Вам надо провести много решений при разных коэффициентах - это две совершенно по разному решаемые проблемы. Но есть предостережение. Менять коэффициенты внутри расчета шага интегрирования крайне опасно, можно получить не просто неточное решение, а решение противоречащее физическому смыслу задачи. При этом очень многое зависит от поведения алгоритма подбора шага интегрирования для обеспечения точности решения.
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
22.04.2015, 07:35 | |
Я взял исходные два файла, исправил 2 ошибки (которые обозначил коментариями), т у меня программа выполняется выводя какие-то данные и строя 5 графиков. Все интересное на них происходит в интервале t от 0 до 10.
Попробуй вернуться назад к исходной точке, возможно внес какието изменения в функцию определения производных
0
|
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 17
|
|||||||||||
23.04.2015, 01:03 [ТС] | |||||||||||
Да вроде начальный пробую.
А от версии матлаба это никак не зависит? Или может нужно в определенную директорию файл класть? Добавлено через 3 минуты Пробую вот эту версию:
Вопрос снимается. Не в той директории лежал файл. Добавлено через 23 минуты Вопрос следующий: Мне на самом деле нужно 8 уравнений - 5 дифференциальных и 3 линейных (см фото в 1 посте) Если я все это запихиваю под ode, он нормально переваривать будет? И еще вопрос: когда я ставлю нужные мне коэффиценты в файлик, очень сильно проседает производительность, и даже на промежутке для t от 0 до 10 считает несколько минут. Как пофиксить можно?
0
|
![]() ![]() 3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
23.04.2015, 07:48 | |
Такое число уравнений для MATLAB не проблема, проблема что растет время решения.
Для ode45 производные вычисляются 4 раза на каждый шаг интегрирования. Поэтому обязательно оптимизируй функцию diff_urav. Например присваивание вычисляется быстрее чем умножение, а возведение в квадрат обязательно замени умножением. Второе направление это подбор шага. t=0 : 0.2 :100; 0.2- это шаг. Чем он больше тем расчет быстрее но менее точно вплодь до развала решения. Поэтому требуется подбор с анализом получаемых решений. Третье направление выбор другой функции вместо ode45, возможно они будут давать на ваших уравнениях лучший результат. Хотя ode45 мне очень нравится, надежный не капризный метод, с него рекомендую всегда начинать. Когда MATLABA еще небыло у меня были реализации данного метода сначала на BASiC, потом FORTRAN, потом С.
0
|
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 39
|
|
23.04.2015, 11:59 | |
Привет, занят примерно тем же самым Определение параметров при аппроксимации , есть рабочая прога. Пиши в лс
0
|
23.04.2015, 11:59 | ||||||
Помогаю со студенческими работами здесь
13
Вычисление коэффицентов Выпадающий список в Excel с подтягиванием к нему таблицы из другого листа
Решение не было найдено. Решение системы уравнений Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
|
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
|
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
|
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели.
Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
|
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка:
«Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
|
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
|
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
|
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
|
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
|
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
|