|
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
|
||||||
Решение краевой задачи26.10.2021, 01:08. Показов 9028. Ответов 5
Метки python 3.9 (Все метки)
Добрый вечер, уважаемые форумчане! Прошу помощи с решением проблемы: необходимо решить волновое уравнение с помощью явной разнотстной схемы типа "крестик":
при следующих начальных и граиничных условиях: Я попытался написать программу, которая позволяет изменять как граничные условия, делать анимированный и не анимированный график решения, сохранять значения расчетов в текстовый файл, но у меня возникает ошибка, до этого еще было куча ошибок, но как исправить и получить работающую программу я не знаю, я понимаю смысл ошибки, но не могу понять, почему такое решение здесь не применимо. Привожу пример кода на Python 3.9 и описание самой ошибки....
Выдаваемая ошибка: Traceback (most recent call last): File "C:\\LR2-rep\wave_eq_1d.py", line 350, in <module> task() File "C:\\LR2-rep\wave_eq_1d.py", line 346, in task simulate(I, V, f, a, L, dt, U_0, U_L, C, T, umax, umin, animate = True, mode = 'plotter', solver_func = 'sol') File "C:\\LR2-rep\wave_eq_1d.py", line 299, in simulate solver_func(I, V, f, a, L, dt, U_0, U_L, C, T, user_func) TypeError: 'str' object is not callable Заранее благодарю!
0
|
||||||
| 26.10.2021, 01:08 | |
|
Ответы с готовыми решениями:
5
Решение сингулярной двухточечной краевой задачи
Аналитическое решение решение краевой задачи для ОДУ второго порядка |
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,751
|
|
| 26.10.2021, 06:08 | |
|
solver_func у тебя просто строка, а ты, видимо, пытаешься ее вызывать как функцию.
1
|
|
|
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
|
|
| 26.10.2021, 09:34 [ТС] | |
|
u235,
Да, просто ночью уже совем не понимаешь, что происходит, прочитал Ваш ответ, надо было кавычки убрать где вызов sol был, но теперь я не понимаю другого: я обозначил переменную dx вроде бы правильно, и не понимаю, как он расценил параметр C на вход функции еще одну функцию, а не например число... Я же ведь присвоил С воплне конкретное определенное значение... File "C:\\LR2-rep\wave_eq_1d.py", line 61, in sol dx = dt * a / float(C) TypeError: float() argument must be a string or a number, not 'function' Добавлено через 25 минут Но теперь я не понимаю другого: теперь ошибка получилась еще более прозаичная, не понимаю ее...? File "C:\\LR2-rep\wave_eq_1d.py", line 126, in sol u[i] = U_L(dt) TypeError: 'float' object is not callable
0
|
|
|
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
|
|||||||||||||||||||||
| 27.10.2021, 18:45 [ТС] | |||||||||||||||||||||
|
Заметил еще несколько ошибок, в том числе неправильный порядок аргументов, вот правленный код, однако теперь код, правда появилась еще одна ошибка...
u235, После последней правки ошибка такая:
u235, Ошибка на строке 338, при переопределении U_0 и U_L как чисел, хотя они являются функциями. Должны ими быть. В данной постановке, граничные условия должны быть равны нулю, но в задании также сказано провести расчеты при произвольных параметрах также, т.е. исследовать влияние граничных и начальных условий, в том числе если они будут заданы в виде функций... Или мне тогда просто лучше в самой функции task посредством лямбда-выражений определять их и передавать? Как бы эту программу я хочу использовать еще и для решения другой задачи, где приводится тоже волнвое уравнение второго порядка, однако, там добавлена еще функция и граничные условия заданы на одном конце в виде ступенчатой функции. Добавлено через 4 часа 54 минуты Я переписал функцию task():
0
|
|||||||||||||||||||||
|
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
|
||||||
| 29.10.2021, 21:11 [ТС] | ||||||
|
u235,
В общем попытался переписать код иначе, единственный вопрос у меня возникает в том,что я не уверен, что решение получено точное, и еще как бы вывести в формате столбцов ndarray? К сожалению не получается из отдельных кадров создать анимацию, к тому же не на всех кадрах прорисовывается сетка... Не знаю как это исправить.... Может есть какие предложения? Прикладываю код программы, потому что хотелось бы и иметь видеоанимацию, так и по верменные фреймы, для отслеживания решения...
1
|
||||||
|
8 / 6 / 2
Регистрация: 03.05.2016
Сообщений: 242
|
|
| 31.10.2021, 15:49 [ТС] | |
|
В целом, удалось решить задачу, и создать анимацию!
1
|
|
| 31.10.2021, 15:49 | |
|
Помогаю со студенческими работами здесь
6
Решение краевой задачи
Решение краевой задачи Римана Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|