|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
|
Решение дифференциальных уравнений29.08.2014, 14:43. Показов 3902. Ответов 27
Метки нет (Все метки)
Всем привет! Просмотрел на форуме примеры решения ДУ, но так и не нашел аналогию. Помогите пжл разобраться, как записать в Matlab и решить следующую задачу:
0
|
|
| 29.08.2014, 14:43 | |
|
Ответы с готовыми решениями:
27
Решение дифференциальных уравнений Решение дифференциальных уравнений Решение дифференциальных уравнений |
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
|
| 29.08.2014, 14:51 | |
|
А где начальные условия?
0
|
|
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
|
| 29.08.2014, 14:57 [ТС] | |
|
Ой, сорри, точно
, все три =0
0
|
|
|
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
|
|
| 29.08.2014, 16:39 | |
|
Если Ваши диффуры не уникальны, то может это поможет:
Шампайн Гладвел Томпсон Решение обыкновенных дифр уравнений с использованием MATLAB 2009 304 стр
1
|
|
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
|||||||||||
| 29.08.2014, 21:42 [ТС] | |||||||||||
|
Я читал эту книгу и еще несколько
, и на их основе и некоторых уравнениях на форуме записал в Matlab эти ДУ, однако все равно не получается, графики строит не те, которые нужно, и непонятно, в чем ошибка![]() Вроде все проверил-должно быть верно. Помогите пожалуйста разобраться, где я ошибся? ![]() Вот, что у меня получилось:
0
|
|||||||||||
|
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
|
||
| 30.08.2014, 11:49 | ||
|
В симулинке есть возможность сформировать М-файл? Если такая возможность есть, то анализ этого файла здорово поможет. Такой прием эффективно использовал, когда в CFTOOL получались хорошие результаты, а свой код выдавал неправильные.
0
|
||
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
|||||||
| 30.08.2014, 12:07 | |||||||
Но обычно дифф. уравнения в Simulink решают так как я показал в этой теме: Моделирование нелинейного процесса, заданного Диф. уравнениями в Simulink
1
|
|||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
||
| 30.08.2014, 20:48 [ТС] | ||
)tvoretsmira спасибо Тебе огромное за помощь а то я уж отчаялся. Вот только я не пойму, если бы вместо моего простого уравнения m=2(N-tetta) было бы какое-нибудь огромное, с кучей других производных внутри, как тогда поступать? Ведь производную такого уравнения было бы найти не так легко.P.S. Если уж зашла речь про симулинк, то у меня уже давно интересует вопрос: у меня есть выше описанная модель в симулинк, могу ли я создать цикл, а потом его подать, например, прибавить этот сигнал к sigma ?
0
|
||
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
||||
| 30.08.2014, 23:47 | ||||
|
0
|
||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
||||||||
| 31.08.2014, 15:41 [ТС] | ||||||||
.
А дальше это все прибавлялось к сигма, из предыдущих уравнений, поэтому из-за цикла мне пришлось перейти из симулинка на язык matlab. Но теперь вроде решилось с циклом, но стопор с вычислением Uк-1, в симулинк есть блок "memory", который возвращает значение на предыдущем шаге интегрирования, а вот как здесь решить?! Может Вы знаете ответ на этот вопрос?
0
|
||||||||
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
|||
| 01.09.2014, 01:34 | |||
|
0
|
|||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
||||||||||||||||
| 01.09.2014, 14:06 [ТС] | ||||||||||||||||
|
Я добавлю еще несколько ДУ, чтобы была полная 'картина'. Подскажите пжл, правильно ли я понял ваше объяснение, и можно ли как-нибудь указать значение шага интегрирования (ведь ode45 считает с автоматическим шагом)?
вот как-то так:
0
|
||||||||||||||||
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
||||||||
| 01.09.2014, 15:12 | ||||||||
|
но перед Uk=N; Да, поняли меня правильно. Но обратите внимание на S=0; Если вы выносите это выражение за пределы вложенной функции, то S будет рости с увиличением числа итераций. Этого ли вы хотели?
0
|
||||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
|
| 01.09.2014, 20:02 [ТС] | |
|
Да вы правы, спасибо
, S нужно внести во вложенную функцию. Правда получается не совсем то, что нужно. Помогло бы, если бы я знал значения переменных во вложенной функции (например Vy или b), Вы не знаете, есть ли какая-нибудь возможность вытянуть переменные из под функции ode45 ?
0
|
|
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
||||||
| 01.09.2014, 20:32 | ||||||
|
Переменные можно посмотреть в режиме отладки. Или сохранить и посмотреть тогда, когда программа завершится:
0
|
||||||
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
||||||
| 01.09.2014, 21:21 [ТС] | ||||||
0
|
||||||
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
|
| 01.09.2014, 22:10 | |
|
Если вы про те ДУ, что привели на картинке, то да, они программе не соотвествуют. Особенно последнее уравнение странное:
Поди догадайся чему равна
0
|
|
| 02.09.2014, 10:23 | |
|
Не по теме: Alex7421, обрати внимание:
0
|
|
|
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 226
|
|
| 02.09.2014, 14:35 [ТС] | |
|
Спасибо Зосима, недавно в книге про это прочитал, раньше думал, что разницы нет
. tvoretsmira Вы опять правы, это не ДУ, это просто дифференцирование , поэтому и ответ неверный. Раньше я уже встречался с дифференцированием в matlab, но только символьным, а потом уже подставлял свои значения. А вот с численным дифференцированием, да еще и под функцией ode45 впервые. Подскажите пжл, каким образом это делается в данном случае?
0
|
|
|
462 / 452 / 56
Регистрация: 28.05.2013
Сообщений: 699
|
|
| 02.09.2014, 20:23 | |
|
Я не знаю как сделать это в даном случае.
0
|
|
| 02.09.2014, 20:23 | |
|
Помогаю со студенческими работами здесь
20
Решение дифференциальных уравнений Решение дифференциальных уравнений. Решение системы дифференциальных уравнений
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|