Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 32

Решение системы дифференциальных уравнений методом стрельбы

02.03.2020, 18:20. Показов 1291. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, попытался написать программу для решения системы дифференциальных уравнений методом стрельбы, но я не могу понять правильно ли она работает, и график решений странный получается. Можете посмотреть пожалуйста?
https://www.cyberforum.ru/cgi-bin/latex.cgi? \begin{cases}x'(1)=-2\ast k \ast x1+x2; \  x1(0)=0;\\<br />
x'(2)=-2\ast (k^2-x1^2)\ast x1; \  x2(0)=v0;\end{cases}\\k<0;

вот код программы
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 clear all
grid on
k=0:-3:-9; 
N=100;
f=@(x,k)[-2*k*x(1)+x(2); -2*(k^2-x(1)^2)*x(1)];
h=(0.16)/(N-1);
for l=1:length(k)
    iter = 0;
    v0=1.0; v1=0.5;
    while (abs(v1-v0))>(k)&(iter<20)  
        v0=v1;
        y(1,1)=0; y(2,1)=v0;
        for n=1:(N-1)
            k1=f(y(:,n),k(l));
            k2=f(y(:,n)+0.5*h*k1,k(l));
            k3=f(y(:,n)+0.5*h*k2,k(l));
            k4=f(y(:,n)+0.5*h*k3,k(l));
            y(:,n+1)=y(:,n)+(h/6)*(k1+2*k2+2*k3+k4);
        end
        v1=v0-(y(1,N)-1)/y(2,N);
        iter=iter+1;
    end
    hold on
    plot(0:h:0.16,y(1,:));
end
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2020, 18:20
Ответы с готовыми решениями:

Решение системы дифференциальных уравнений Методом Рунге-Кутта 4 порядка
В соседней теме я уже выкладывал решение системы дифф. уравнений через ode23. https://www.cyberforum.ru/matlab/thread2000372.html ...

Реализовать решение системы взаимосвязанных дифференциальных уравнений Т*dy/dt=k*x-y методом Рунге-Кутта
Здравствуйте! помогите пожалуйста! мне нужно в матлабе реализовать решение системы одинаковых взаимосвязанных дифференциальных уравнений...

Решение системы дифференциальных уравнений
Помогите, пожалуйста, решить данные системы дифференциальных уравнений в матлабе. Буду премного благодарна.

12
02.03.2020, 18:53
 Комментарий модератора 
Правила форума, пункт 4.3. Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят.
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
02.03.2020, 19:27
Кто это такие?
Matlab M
1
v0=1.0; v1=0.5;
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 32
02.03.2020, 20:00  [ТС]
v0 - условие откуда начинаются итерации по Ньютону
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
03.03.2020, 08:59
Andrew91, задача не похожа на краевую, а пишете про метод стрельбы. Начальное x(1)=0, а x(2)=? и что с параметром k хотите делать ? короче, тема не понятна
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 32
03.03.2020, 11:48  [ТС]
tokrab, параметр k — число, оно меньше нуля, то есть в коде смотрятся решения при различных k от 0 до -9 с шагом минус -3. А x2(0)=v0 его же можно подбирать как раз, а оно и берется равным 1 или я неправильно это делаю?
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
03.03.2020, 11:59
Цитата Сообщение от Andrew91 Посмотреть сообщение
x2(0)=v0 его же можно подбирать как раз,
подбирать с какой целью ? какой смысл вы вкладываете в v0 ? и почему пишете о методе стрельбы ?
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 32
03.03.2020, 12:42  [ТС]
Чтобы получить решение при таких начальных условиях с конкретным v0 . А Итерациями в строчке 20 кода делается пристрелка параметра v0 так, чтобы выполнялось краевое условие x2(0).Вроде так.
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
03.03.2020, 13:20
х2(0) - это краевое условие ? а х1(0) - как называется ?
можно ли увидеть эту задачу по первоисточнику, или вы ее сами придумали ?
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 32
03.03.2020, 14:37  [ТС]
мне просто надо решить задачу Коши. Для ее решения необходимо два начальных условия. Первоисточника у этой задачи нет, это подзадача более сложной задачи.
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
03.03.2020, 14:45
В задаче Коши начальные условия известны и заданы по условию задачи, а вы их пытаетесь найти ?
https://ru.wikipedia.org/wiki/Задача_Коши
На форуме примеров решения ЗК вагон и маленькая тележка...
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 32
03.03.2020, 14:49  [ТС]
я пытаюсь посмотреть решения при разных начальных условиях, то есть пристреливаю параметр v0.
Я написал программу, но не могу понять корректно она работает или нет. Проблема в этом у меня.
0
574 / 363 / 186
Регистрация: 11.01.2019
Сообщений: 1,220
03.03.2020, 15:29
Для k=<0 устойчивого решения нет. Решения устойчивы для k>=0.7
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function primer
clear all, close all
global k
k=1; % k>=0.7
t=[0 10];
x0=[0 1];
figure
hold on
[t,x]=ode15s(@myfun,t,x0);
plot(t,x(:,1),'-')
grid
xlabel('t, c'); ylabel('x(t)'); 
title('Реакция x(t)');
end
 
function [dx] = myfun(t,x)
global k
 
dx = [-2*k*x(1)+x(2); 
      -2*k^2*x(1)+2*x(1)^3];
end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2020, 15:29
Помогаю со студенческими работами здесь

Решение системы дифференциальных уравнений
Помогите, пожалуйста, решить систему ду в Matlab. очень нужно. запуталась Правила: 5.18. Запрещено размещать задания и решения в виде...

Решение системы дифференциальных уравнений OLD
Всем Доброго времени суток. Нужна помощь в решении системы методом Рунге-Кутта в среде матлаб. Подскажите пожалуйста как можно записать...

Решение системы дифференциальных уравнений
Всем привет. Мне необходимо найти зависимость V от Q. Для этого я должен решить систему дифференциальных уравнений в разные моменты времени...

Решение системы дифференциальных уравнений
Возможно ли такое решить в Matlab: \begin{cases} &amp; \text{ } \ddot{y}=-y+x-\dot{y}+\dot{x} \\ &amp; \text{ }...

Решение системы дифференциальных уравнений
Здравствуйте, помогите решить систему ОДУ. В файле записала вот такой фрагмент кода function dy = myfun(t,y) dy = zeros(2,1); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru