|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|||||||||||
Matlab 2014 Почему не сходится решение системы уравнений?28.01.2020, 12:30. Показов 4299. Ответов 18
Метки нет (Все метки)
Здравствуйте! решаю такую сичтему уравнений (уравнения Кирхгофа применительно к задаче гидравлики для определения расходов). Решение выводится, однако вылазит сообщение, что задача не сошлась за 1100 итераций. При этом ответы зависят от приближения. Помогите пожалуйста разобраться с fsolve, или может есть другой способ решить их в матлабе?
Вот функция
0
|
|||||||||||
| 28.01.2020, 12:30 | |
|
Ответы с готовыми решениями:
18
Решение системы нелинейных уравнений (для двух уравнений) Решение системы уравнений (5 уравнений, 3 неизвестные) Решение нестационарной системы уравнений с большим числом уравнений |
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||
| 28.01.2020, 14:33 | ||
|
Причина скорее всего в том, что указаны неправильные данные в ZZ, Cycles, HH_v. Особенно подозрителен Cycles. При отсутствии описания задачи больше сказать ничего не могу
1
|
||
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|||||||||||
| 28.01.2020, 15:21 [ТС] | |||||||||||
|
Спасибо, что откликнулись! Ошибки пока что найти не удалось. Cycles действительно не до конца верный,но если всё таки решите помочь, в полном коде я оставил как мне кажется подробные комментарии. С правильным вручную введённым Cycles тоже не работает.
Я прилагаю изображение со схемой замещения гидравлической сети. В неё чёрными цифрами отмечены сопротивлекния, красными - ветви, синими - контуры(циклы). Каждое сопротивление и напорный элемент задаются соседними контурами. В коде выделяются узлы и контуры для составления уравнений. Уравнения по какой то причине не решаются. Законы Кирхкофа для гидравлической сети 1)Сколько втекает в узел, столько и вытекает 2)сумма падений напора на замкнутом контуре равняется сумме напоров напорных элементов. Последовательные сопротивления в ветви складываются Полный код
Функция из пакета по теории графов
0
|
|||||||||||
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|||||
| 28.01.2020, 16:06 | |||||
Сообщение было отмечено kirill1g как решение
РешениеПри этом не знаете, какой она должна быть. Представьте Вы пытаетесь заставить работать код непонятно как работающий и неизвестно что должный получить в результате. По моему вероятность успеха ничтожна, а если что-то получиться то возможно случайно. У Вас есть трезвая мысль А помните как в 1-ом законе Кирхгофа - втекающие с плюсом, вытекающие с минусом (ну или наоборот, но не в этом дело - главное разные знаки. У Вас Кроме этого выражение PS А приспособление метода узловых потенциалов не проще было бы?
1
|
|||||
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|
| 28.01.2020, 16:55 [ТС] | |
|
Матрицу cycles я задавал вручную, и при этом также решения не было.
По поводу направлений мне казалось что знаки выберутся автоматически по первому закону, а во втором они везде в квадрате, и направление течения на перепад напора(напряжения) влиять не будет. При этом знаки напорных элементов учитываются( забыл указать направление, каждый контур рассматривал по часовой стрелке). Нужно хорошенько обдумать это, вы заставили меня усомниться. О методе узловых потенциалов не слышал, по крайней мере под таким названием. Расскажите пожалуйста, чем он может помочь и в чём заключается?
0
|
|
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|||||
| 29.01.2020, 07:30 | |||||
|
Как люди раньше не догадались, что при изменении направления течения жидкости в трубе перепад давлений на концах сохраняется. Интересно а в этом случае как жидкость узнает в какую сторону ей течь по направлению уменьшения давления или навстречу. А так как в мультфильме "Вовка в тридевятом царстве" засунул в печку что попало и как попало - вот тебе и пирожки. Только пирожки сразу видно что фигня, а тут еще и понять это надо.
1
|
|||||
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|
| 29.01.2020, 12:47 [ТС] | |
|
ТОЭ изучал, но как непрофильный предмет, видать и прозевал.
Вы правы, я действительно не знал, чего хочу получить. Опирался на результаты аналогичной проги в маткаде, которая, как мне казалось, опробирована и не один серьёзный проект на ней рассчитывался, но пока ломал голову и сравнивал результаты, заметил что падения напоров в параллельных ветвях там различны, и соответственно расходы определяются ошибочно. Решил более простую схему. Вы правы, знаки играют роль. Сравнил с результатом расчёта по заведомо верному методу. Почему не сделал так раньше - не знаю. Был уставший и мозг автоматически отбрасывал эту идею. Если интересно, объясню свою ошибку. По первому закону всё действительно подобралось бы, но по второму естественно нет. Я руководствовался ошибочной логикой о том, что контур для записи уравнения по второму закону рассматривается как бы отдельно от остальной сети, а в таком контуре падение напора(всё с одним знаком +) равно приросту напора(со знаками + или - в зависимости от направления действия). Спасибо большое, вы очень помогли. Пойду пытаться автоматизировать выбор направления потока в ветвях.
0
|
|
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||
| 29.01.2020, 13:42 | ||
|
Обязательно на схеме расставьте предварительные (расчетные) направления перетоков в ветвях. Если в результате расчета получите отрицательную величину перетока, то значит не угадали с направлением перетока.
Это обязательное требование при расчете эл.цепей, да и гидравлических тоже. Поэтому в матрице Cycles должны быть 1(втекает), 0(в этот узел не попадает), -1(вытекает). Тогда все будет получаться. В MATLABe есть функция sign(x) для определения знака числа х. У Вас должно быть что-то типа F(num_ur_Q+1:num_ur_Q+num_ur_H)=sign(Q). *Q.^2*ZZ-HH_v; А совпадение или встречка обхода контура и направления перетока отображаться знаком в ZZ
0
|
||
|
416 / 200 / 69
Регистрация: 20.01.2019
Сообщений: 714
|
|
| 29.01.2020, 13:52 | |
|
0
|
|
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
| 29.01.2020, 14:15 | |
|
0
|
|
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|||||||||||
| 31.01.2020, 08:34 [ТС] | |||||||||||
|
Делал-делал, и сделал, только вот не решается всё равно. Решил вбить систему для такой схемы вручную, и всё равно сходимость не достигается. При этом простая системка работает и решение её даёт верный результат. Несколько часов пытался ошибку найти и никак не получается. Помогите пожалуйста, может ошибку заметите, или я опять что то не учитываю.
Прилагаю код программы и функции под спойлером. Также прилагаю изображения простой и сложной схем с обозначенными направлениями потоков, пронумерованными вевями. (Ветви пронумерованы красным цветом на сложной схеме). Закомментировваны уравнения для простой схемы. Программа Кликните здесь для просмотра всего текста
Функция Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
||||||||
| 31.01.2020, 13:05 | ||||||||
Сообщение было отмечено kirill1g как решение
РешениеВ Вашей схеме гидронасос в 3-ей ветви работает в режиме двигателя, те переток происходит против направления стрелки.
1
|
||||||||
|
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
|
|
| 31.01.2020, 13:16 | |
Сообщение было отмечено kirill1g как решение
Решение
kirill1g, крокодил не ловится, не решить задачку... Вероятно причина в отсутствии знака в уравнениях давления. Потери давления на участках (см."гугл") вместо Z*Q^2 должны быть Z*|Q|*Q, чтоб знак учитывался. Давление, как и сила, имеют направление действия.
Добавлено через 4 минуты ну вот, зря старался)
1
|
|
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
||
| 31.01.2020, 16:03 [ТС] | ||
|
Эх, знал бы ты сколько я голову ломал! Спасибо тебе! Если для тебя очевидно, разъясни ещё пожалуйста, нужно ли также заменять квадраты неизвестных расходжов в слагаемых, отвечающих за действие напорных элементов? Если тебе не очевидно то думаю сам соображу, просто бошка не варит уже под конец дня)
Добавлено через 15 минут Извините, что на ты обратился. Ещё не заметил второй ответ. Спасибо обоим! Добавлено через 1 минуту А, так в том ответе который я не заметил и был ответ на только что заданный вопрос. Добавлено через 2 минуты
0
|
||
|
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
|
|
| 31.01.2020, 16:45 | |
|
kirill1g, расскажите о результатах, когда справитесь
0
|
|
|
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
|
|
| 31.01.2020, 22:05 | |
|
0
|
|
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|||
| 03.02.2020, 07:31 [ТС] | |||
|
Добавлено через 47 секунд
0
|
|||
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|||
| 03.02.2020, 08:16 | |||
|
0
|
|||
|
2 / 1 / 1
Регистрация: 15.11.2019
Сообщений: 19
|
|
| 03.02.2020, 14:08 [ТС] | |
|
Спасибо большое всем за помощь! Вот программка, придумать сеть чтобы она её не решила я не сумел. Проверка на простых сетях сходится с ручным решением другим методом.
0
|
|
| 03.02.2020, 14:08 | |
|
Помогаю со студенческими работами здесь
19
Табулирование функции, решение не сходится с ответом
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|