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

Краевая задача методом пристреливания

20.10.2015, 17:49. Показов 3848. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно решить краевую задачу методом пристреливания. Я так понимаю что ее нужно свести к задаче Коши и решить ее методом Рунге-Кутты. Не могу понять как это сделать в Матлабе! Помогите, пожалуйста! Заранее спасибо!

Краевая задача имеет вид:

f'''+teta+3*f*f''-2*(f')^2=0
teta''/Pr+3*f*teta'=0

Граничные условия:
f(0)=0; f'(0)=0; teta(0)=1; f'(N)=0; teta(N)=0; Pr=0.72;

Замена y1=f; y2=f';y3=f'';y4=teta;y5=teta' приводит к системе пяти уравнений первого порядка

y1'=y2
y2'=y3
y3'=-3*y1*y3+2*y2^2-y4
y4'=y5
y5'=-3*y1*y5*Pr
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.10.2015, 17:49
Ответы с готовыми решениями:

Краевая задача методом прогонки, получение результатов погрешности
Доброго времени суток! Столкнулся с тем, что не могу получить вменяемые результаты погрешности, независимо от того, насколько я увеличу...

Краевая задача
Дано задание: Методом сеток найти решение краевой задачи. И Построить график решения. y''(x) + 0.5 / (x+1) * y'(x) = - 1/(sqrt(x+1)), ...

Краевая задача
Задание: Убедитесь, что функция x(t) является решением краевой задачи x'' = 2x' - x + t2 - 1 на интервале с x(0) = 5 и x(1) = 10,...

9
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
20.10.2015, 18:29
Главный код
Matlab M
1
2
3
4
5
6
7
global Pr
Pr = 0.72;
y0 = zeros(5,1);
[T, Y] = ode45(@func, [0 7], y0);
y1 = Y(:,1);
y2 = Y(:,2);
plot(T,y1);
Функция
Matlab M
1
2
3
4
5
6
7
8
9
function dy = func(t,y)
global Pr
dy = zeros(5,1);
dy(1) = y(2);
dy(2) = y(3);
dy(3) = -3*y(1)*y(3) + 2*y(2)^2 - y(4);
dy(4) = y(5);
dy(5) = -3*y(1)*y(5)*Pr;
end
Это если для y1(0) = 0, y2(0) = 0 ...
0
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 10
20.10.2015, 19:04  [ТС]
Не совсем понятно где реализовывается метод стрельбы и графики функций y2,y4 прямая линия и все равные нулю. Нужно вывести графики функций y2,y4 они должны получится примерно следующие
0
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 10
20.10.2015, 19:22  [ТС]
Помогите пожалуйста решить данную выше задачу! Уже два месяца мучаюсь черт бы ее побрал(((. Буду очень благодарен
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
20.10.2015, 19:22
Главный код
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
clear, clc
 
global Pr
Pr = 0.72;
N = 5;
tin = linspace(0, N, 2*N);
yin = zeros(5,1);         % на счет условий не уверен
init = bvpinit(tin, yin);
[T, Y] = bvp4c(@odefunc, @bcfunc, init);
 
y1 = Y(:,1);
y2 = Y(:,2);
plot(T,y1);
Условия для задачи Коши
Matlab M
1
2
3
4
5
6
7
8
9
function dy = odefunc(t,y)
global Pr
dy = zeros(5,1);
dy(1) = y(2);
dy(2) = y(3);
dy(3) = -3*y(1)*y(3) + 2*y(2)^2 - y(4);
dy(4) = y(5);
dy(5) = -3*y(1)*y(5)*Pr;
end
А тут черт знает=)
Matlab M
1
2
3
4
5
6
7
8
function dy = bcfunc(y0,yN)
dy = zeros(5,1);
dy(1) = y0(1);
dy(2) = y0(2);
dy(3) = y0(4);
dy(4) = yN(2);
dy(5) = yN(4);
end
Не зная теории, вообще раму нереал собрать)
0
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 10
20.10.2015, 20:02  [ТС]
Спасибо больщое и на этом! Буду дальше мучаться((
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
20.10.2015, 22:10
Цитата Сообщение от olega92 Посмотреть сообщение
Нужно решить краевую задачу методом пристреливания.
Т.е. вам не нужно использовать стандартные функции Matlab для решения краевой задачи?
0
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 10
20.10.2015, 22:52  [ТС]
Мне без разницы как. Если есть какие-нибудь предположения рад буду любой помощи. Уже два месяца мучаюсь с данной задачей уже руки опускаются((
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
21.10.2015, 09:43
Лучший ответ Сообщение было отмечено olega92 как решение

Решение

В начальных условиях проморгал единицу)

Главная программа
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear, clc, cla
 
global Pr
Pr = 0.72;
N = 5;
tin = linspace(0, N, 10);
yin = [0 0 0 1 0];
init = bvpinit(tin, yin);
sol = bvp4c(@odefunc, @bcfunc, init);
x  = sol.x;
y1 = sol.y(1,:);
y2 = sol.y(2,:);
y3 = sol.y(3,:);
y4 = sol.y(4,:);
y5 = sol.y(5,:);
plot(x,y2, x,y4);
Коши
Matlab M
1
2
3
4
5
6
7
8
9
function dy = odefunc(t,y)
global Pr
dy = zeros(5,1);
dy(1) = y(2);
dy(2) = y(3);
dy(3) = -3*y(1)*y(3) + 2*y(2)^2 - y(4);
dy(4) = y(5);
dy(5) = -3*y(1)*y(5)*Pr;
end
Граничные условия
Matlab M
1
2
3
4
5
6
7
8
function dy = bcfunc(y0,yN)
dy = zeros(1,5);
dy(1) = y0(1);
dy(2) = y0(2);
dy(3) = y0(4)-1;
dy(4) = yN(2);
dy(5) = yN(4);
end
Похоже?

Добавлено через 8 минут
В главном коде 7 строка:
Matlab M
1
yin = [0 0 1 0 0];
Вроде...
2
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 10
21.10.2015, 10:07  [ТС]
Спасибо Вам огромное, Вы не представляете как мне помогли! Все верно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2015, 10:07
Помогаю со студенческими работами здесь

Нелинейная краевая задача
Добрый день! Прошу помощи в решении задачи. Не могу разобраться с заданием прямоугольной области и граничных условий в pdetool, а также...

Задача Коши и краевая задача
Помогите кто чем может))

Краевая задача. (bvp4c, bvpinit.)
Чем дальше в MatLab, тем больше непонятных ошибок. программа не работает и не понятно - почему. y''-{exp}^{x}y'=x; y(1.5) = 0.2; ...

Краевая задача, дифференциальное уравнение второго порядка
Помогите кто чем может)) Нужно использывать фунцыю Ode45 y''+y=0 y(2)=1 y'(2)=-2

Краевая задача разностным методом
Поставлена краевая задача: U''+p(t)U'+g(t)U=f(t), t\in \left\{\begin{matrix} & {k}_{1}u(a)+{k}_{2}u'(a)=A \\ &...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера 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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru