Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1792.doc
Скачиваний:
151
Добавлен:
30.03.2015
Размер:
1.2 Mб
Скачать
      1. Задание 2

Найти экстремаль функционала для своего варианта задания. Исследовать на выполнение необходимых условий экстремума. Проанализировать, какой экстремум достигается. Подтверждается ли этот результат сравнением величин Jextr и Jlin?

    1. Варианты заданий

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

6. РЕШЕНИЕ ВАРИАЦИОННЫХ ЗАДАЧ В ЧАСТНЫХ

СЛУЧАЯХ УРАВНЕНИЙ ЭЙЛЕРА

    1. 6.1. Частные случаи уравнений Эйлера

В ряде задач минимизируемый функционал содержит подынтегральную функцию, не зависящую от y(x), от y(x) или от x. В этих частных случаях решение уравнения Эйлера существенно упрощается. В случае, когда подынтегральная функция не зависит явно от y(x), в уравнении Эйлера

(1)

первое слагаемое равно нулю. Так как при этом полная производная по x от Fy' обращается в ноль, то сама функция Fy' должна быть постоянной. Эта функция зависит только от аргументов y(x) и x.

После первого интегрирования имеем

(2)

Полученное уравнение 1-го порядка не содержит в явном виде y(x). Для его решения нужно разрешить (2) относительно y(x), а затем проинтегрировать.

    1. 6.2. Выполнение заданий

Задание 1. Рассмотрите пример.

Найти экстремаль функционала:

(3)

Исследовать на выполнение необходимых условий экстремума. Построить график решения.

В этом примере подынтегральная функция F(x,y,y') не зависит явно от y. Первый интеграл уравнения Эйлера имеет вид (2).

Рассмотрите программу для решения этой вариационной задачи. Вначале надо ввести исходные данные. Для решения задачи достаточно получить первый интеграл уравнения Эйлера, поэтому ни сама функция y, ни её вторая производная y'' не нужны, и нет необходимости их описывать.

При выполнении своего варианта задания необходимо подставить свою подынтегральную функцию и граничные условия.

clear all % очистили всё

disp('Решаем задание ') % заголовок задачи

syms x Dy % описали символические переменные

F=Dy^2+2*Dy*sinh(x)-5*x^2; % подынтегральная функция

x1=-1; % граничные условия

y1=2;

x2=1;

y2=3;

disp('Исходные данные:')

fprintf(['Подынтегральная функция '...

'F(x,y'')=%s\n'],char(F))

fprintf('Граничное условие слева: y(%d)=%d\n',x1,y1)

fprintf('Граничное условие справа: y(%d)=%d\n',x2,y2)

Решаем задание.

Исходные данные:

Подынтегральная функция F(x,y')=Dy^2+2*Dy*sinh(x)-5*x^2

Граничное условие слева: y(-1)=2

Граничное условие справа: y(1)=3

Постройте первый интеграл и решите полученное дифференциальное уравнение. Названия констант C1 и C2 используются в команде dsolve, поэтому при составлении 1-го интеграла уравнения Эйлера надо обозначить константу C.

dFdy1=simple(diff(F,Dy)); % Fy'

deqEuler=[char(dFdy1) '=C']; % составили уравнение

disp('Первый интеграл уравнения Эйлера:')

fprintf('%s\n',deqEuler)

Sol=dsolve(deqEuler,'x'); % решаем уравнение Эйлера

if length(Sol)~=1 % решений нет или более одного

error('Нет решений или более одного решения!');

else

disp('Общее решение уравнения Эйлера:')

fprintf('y(x)=%s\n',char(Sol))

end

Первый интеграл уравнения Эйлера:

2*Dy+2*sinh(x)=C

Общее решение уравнения Эйлера:

y(x)=-cosh(x)+1/2*C*x+C1

В переменной Sol получено общее решение, произвольные постоянные обозначены C и C1. Надо найдти их. Для этого надо подставить в Sol граничные точки. Приравняйте полученные выражения соответственно y1 и y2. Тем самым сформируется система уравнений.

SolLeft=subs(Sol,x,sym(x1)); % подставили x1

SolRight=subs(Sol,x,sym(x2)); % подставили x2

EqLeft=[char(SolLeft) '=' char(sym(y1))]; % =y1

EqRight=[char(SolRight) '=' char(sym(y2))]; % =y2

disp('Уравнения для граничных условий:')

fprintf('%s\n',EqLeft,EqRight)

Уравнения для граничных условий:

-cosh(1)-1/2*C+C1=2

-cosh(1)+1/2*C+C1=3

При решении полученной системы находятся произвольные постоянные C и C1. Нужно подставить их в решение Sol. Ограничить решение 6 знаками. Напечатать уравнение найденной экстремали.

Con=solve(EqLeft,EqRight,'C,C1'); % решаем

C=Con.C; % присваиваем полученные решения

C1=Con.C1; % символическим переменным C и C1

Sol22=vpa(eval(Sol),6); % подставили C1, C

disp('Уравнение экстремали:')

fprintf('y(x)=%s\n',char(Sol22))

Уравнение экстремали:

(x)=-1.*cosh(x)+.500000*x+4.04308

Нарисовать график и вычислить Fy'y', которая нужна для проверки условий экстремума по признаку Лежандра.

xpl=linspace(x1,x2); % задали массив абсцисс

y22=subs(Sol22,x,xpl); % вычислили ординаты

figure % фигура

plot(xpl,y22,'-r') % рисуем график красной линией

set(get(gcf,'CurrentAxes'),...

'FontName','Times New Roman Cyr','FontSize',12)

title('\bfГрафик экстремали') % заголовок

xlabel('\itx') % метка оси OX

ylabel('\ity\rm(\itx\rm)') % метка оси OY

Leg=diff(dFdy1,Dy); % Fy'y'

disp ('Необходимое условие Лежандра:')

fprintf('Fy''y''=%s\n',char(Leg))

Необходимое условие Лежандра:

Fy'y'=2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]