авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 | 2 || 4 |

«А. В. Анкилов, П. А. Вельмисов, А. С. Семёнов АЛГ ОР ИТ МЫ МЕ Т О Д О В ВЗВЕ Ш Е ННЫ Х НЕВЯЗОК ДЛЯ РЕШЕНИЯ ЛИНЕЙНЫХ ЗАДАЧ МАТЕМАТИЧЕСКОЙ ФИЗИКИ И ...»

-- [ Страница 3 ] --

Таблица 7. Варианты заданий к лабораторной работе № № a b c d a b c d 1 3 2 5 11 3 –2 – 2 3 1 6 12 2 2 1 – 3 1 1 –2 10 13 1 1 2 4 1 6 14 4 4 –1 5 4 4 –1 9 15 2 2 –1 6 3 3 4 16 3 3 –2 7 2 2 3 8 17 2 2 8 8 –3 3 18 4 4 –2 9 1 1 2 3 19 2 10 –2 2 20 1 1 2 – Лабораторная работа выполняется на ЭВМ с использованием математически ориентированной среды MathCAD для реализации алгоритма построения пробных решений u m (x, y) для задачи (7.10)–(7.11).

Перед обращением к программе необходимо подготовить числовые и строчные данные, вводимые с клавиатуры в процессе диалога с программой.

Числовые данные:

a – правый конец отрезка изменения переменной x ;

b – правый конец отрезка изменения переменной y ;

c и d – численные значения параметров из уравнения (7.10) и условия (7.11).

Строчные данные:

– аналитические выражения для функций v * (x, y), которые программа k нормирует автоматически;

– аналитические выражения для поверочных функций Wk (x, y).

В лабораторной работе требуется:

1. Используя двойные ряды Фурье, найти точное аналитически заданное решение U (x, y) задачи (7.10)–(7.11). Определить длину отрезка этого ряда, обеспечивающую точность решения 0.001, и с помощью ЭВМ построить с шагами hx = 0.1a, h y = 0.1b трехзначную таблицу этого решения.

2. С помощью ЭВМ методом Галеркина найти первые три функции из последовательности пробных решений {u n (x, y)}1, используя те системы пробных и поверочных функций, которые укажет преподаватель.

3. Исследовать поведение построенных пробных решений, анализируя найденные с помощью ЭВМ таблицы пробных решений, таблицы сравнения с предыдущим пробным решением и таблицы сравнения с точным решением.

7.3. Выполнение работы в компьютерном классе 1. Прежде чем начать выполнение лабораторной работы на ЭВМ, внимательно ознакомьтесь с данной инструкцией.

2. При необходимости включите сами (или попросите лаборанта) питание компьютера. После того, как система загрузится, запускаем двойным щелчком левой кнопки мыши на рабочем столе программу Mathcad, если же ярлык отсутствует, тогда открываем программу через кнопку «Пуск» (Программы Mathsoft Mathcad).

3. Узнайте у лаборанта расположение файла Ellipt.mcd и откройте его (File Open или, если программа русифицирована, Файл Открыть). При любой ошибке ввода программы нужно обратиться к лаборанту.

4. Прочитайте в начале файла задание на лабораторную работу и просмотрите пример выполнения работы, для которого исследование уже проведено. Программа файла Ellipt.mcd (см. прил. Г) состоит из четырех пунктов «Постановка задачи», «Получение точного решения», «Получение приближенного решения», «Сравнение точного и приближенного решений».

Цели и задачи каждого из пунктов описаны ниже.

5. Для набора функций нужно либо воспользоваться всплывающим меню инструментов «Calculator», либо ввести ее с клавиатуры, используя следующие символы арифметических действий и стандартных функций: сложение – ‘+’;

вычитание – ‘–‘;

умножение – ‘*’;

деление – ‘/’;

возведение в степень – ‘^’;

квадратный корень – ‘\’;

синус – sin(x);

косинус – cos(x);

экспонента – exp(x);

натуральный логарифм – ln(x). При вводе числовых данных, являющихся десятичными дробями, целую и дробную части нужно разделять точкой (например, 0.5, 1.5 и т. д.).

6. Порядок выполнения работы Вам укажет программа подсказками и заданиями, выделенными красным цветом.

7.4. Порядок выполнения лабораторной работы.

1. Повторить разделы 1.1 и 2.2 из [3], изучить разделы 7.1–7.3 и подготовить ответы на контрольные вопросы из раздела 7.6 данной работы.

2. Пройти собеседование с преподавателем;

получить номер варианта работы и указания по выбору пробных и поверочных функций.

3. Выполнить первый пункт задания, связанный с построением двойного ряда Фурье для точного решения задачи U (x, y) и нахождением длины отрезка этого ряда, обеспечивающую точность решения 0,001.

4. Выполнить подготовительный шаг алгоритма метода Галеркина, подготовить все числовые и строчные данные для расчетов и в пункте «Постановка задачи» программы Ellipt.mcd ввести их вместо задания рассмотренного примера.

5. В пункте «Получение точного решения» программы ввести найденное в 3-м пункте число слагаемых в разложении в двойной тригонометрический ряд Фурье. Выписать трехзначную таблицу получившегося точного решения.

6. В пункте «Получение приближенного решения» ввести вместо задания примера системы пробных V1(k, x, y ) и поверочных W (k, x, y) функций, указанных во 2-м пункте преподавателем (см. приложение Г). Выполнить построение трех пробных решений задачи, вводя последовательно n=1, n=2, n=3. Переписать значения Ck и, подставив их, получить первые три пробные решения. Выписать таблицы пробных решений и таблицы сравнения с предыдущим пробным решением. В пункте «Сравнение точного и приближенного решений» исследовать поведение построенных пробных решений, сравнивая их таблицы с таблицей точного решения.

7. Оформить и защитить отчет по лабораторной работе. Отчет должен содержать титульный лист, математическую постановку задачи и ее физическую интерпретацию, основные результаты работы.

7.5. Тестирующий пример.

Найти функцию u ( x, y ), удовлетворяющую в области { } D = ( x, y ) R 2 : 0 x, 0 y уравнению 2 u 2u + = xy, (7.12) 2 x y а на границе области – условиям u (0, y) = u(, y ) = u (x,0) = u( x, ) = 10. (7.13) Задача (7.12)–(7.13) является частным случаем задачи (7.10)–(7.11) при a = b =, c = 1 и d = 10.

1. Найдем точное решение U (x, y) этой задачи, используя разложение функции в двойной тригонометрический ряд Фурье [4], [5]. Ищем U (x, y) в виде U (x, y ) = 10 + H mk sin kx sin my. (7.14) k =1 m= Заметим, что любая функция вида (7.14) удовлетворяет краевым условиям (7.13). Подставляем (7.14) в (7.12), получаем H mk (k 2 + m2 ) sin kx sin my = xy.

k =1 m= Значит, постоянные H mk (k 2 + m2 ) должны быть коэффициентами двойного ряда Фурье для функции x y, т. е.

4 H mk (k 2 + m2 ) = 2 xy sin kx sin mydxdy = 2 x sin kxdx y sin mydy.

D 0 1 Отсюда, так как x sin kxdx = x cos kx + 2 sin kx = (1) k, то k k k (1)k + m (1)k + m = H mk = 2.

km(k 2 + m2 ) km(k 2 + m2 ) Следовательно, точное решение задачи (7.12)–(7.13) аналитически задается выражением ( 1) k +m U (x, y ) = 10 + 4 sin kx sin my. (7.15) k =1 m=1 km(k + m ) 2 Найдем такое значение M, при котором функция ( 1) k +m MM €(x, y ) = 10 + 4 sin kx sin my U (7.16) k =1 m=1 km(k + m ) 2 с точностью = 0,001приближенно определяет U (x, y), т. е.

( x, y ) D : U ( x, y ) U (x, y) = 0,001.

€ (7.17) Оценим сверху величину.

(1)k +m = 4 sin kx sin my 4 k= M +1 m= M +1 km(k + m ) m=M +1 km(k + m ) 2 2 2 k =M + 1 1 1 dxdy dx x 4 = 4 dy = 4 dy = ln y y2 M M xy ( x + y ) y M x (x 2 + y 2 ) 2 x + y x=M M M y = z, dy = Mdz 1 M 1 = 4 3 ln dy = 4 3 ln dy = M = y +M 2 2 y y y y 3 = z 3M M M + M 2z u = ln(1 + z 2 ), du = dz 2 ln(1 + z ) 1+ z 11 = 4 2 3 ln dz = 2 dz = = z 1 + z2 dz 1M z M dv = 3, v = z 2z 2 1 2 1 z dz dz = 2 ln 2 + = =2 ln(1 + z 2 ) + 2z 2 M 2 2 2 1 (1 + z ) z 1 (1 + z ) z M 2 1 ln 2 + 1 z dz = 2 1 ln 2 + ln z = = 2 2 M2 2 1z z + M z +1 2 1 1 2 ln = ln 2 ln =.

M2 2 2 M 2 ln 0,001. Отсюда Значит условие (7.17) будет заведомо выполнено, если M 1000 M2 = 500 = 721, M 27.

2 ln 2 0, Итак, функция ( 1) k +m 27 U (x, y ) = 10 + 4 sin kx sin my € k =1 m=1 km(k + m ) 2 гарантированно с точностью до 0,001 определяет значение функции (7.15) в прямоугольнике D.

2. Продолжаем выполнение работы в компьютерном классе. Запускаем программу Mathcad. Открываем файл Ellipt.mcd. В пункте «Постановка задачи»

программы вводим числовые данные a := b := c := 1 d := 10.

3. В пункте «Получение точного решения» вводим найденное в 1-м пункте число M M := 27.

После этого программа автоматически вычисляет коэффициенты H km и выдает матрицу U1 точного решения (см. прил. Г) 10 10 10 10 10 10 10 10 10 10 10.108 10.211 10.305 10.381 10.435 10.457 10. 437 10.364 10.223 10 10.211 10.413 10.596 10.747 10.853 10.897 10.859 10.716 10.44 10 10.305 10.596 10.86 11.079 11.235 11.302 11.251 11.045 10. 644 10 10.381 10.747 11.079 11.358 11.558 11.648 11.59 11.336 10.828 10, U 1 = 10 10.435 10.853 11.235 11.558 11.794 11.908 11.852 11.567 10. 979 10 10.457 10.897 11.302 11.648 11.908 12.043 12 11.711 11.083 10 11.981 11.721 11.111 10.437 10.859 11.251 11.59 11.852 10 10.364 10.716 11.045 11.336 11.567 11.711 11.721 11.529 11.02 10 10.223 10. 44 10.644 10.828 10.979 11.083 11.111 11.02 10.72 10 10 10 10 10 10 10 10 10 которую выписываем в таблицу 7.2 пятизначных значений функции U (x, y) с € шагом h = 0,1 (остальные таблицы получаются аналогично).

Таблица 7. Таблица точного решения задачи x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 10 10 10 10 10 10 10 10 10 10 0,1 10 10,108 10,211 10,305 10,381 10,435 10,457 10,437 10,364 10,223 0,2 10 10,211 10,413 10,596 10,747 10,853 10,897 10,859 10,716 10,440 0,3 10 10,305 10,596 10,860 11,079 11,235 11,302 11,251 11,045 10,644 0,4 10 10,381 10,747 11,079 11,358 11,558 11,648 11,59 11,336 10,828 0,5 10 10,435 10,853 11,235 11,558 11,794 11,908 11,852 11,567 10,979 0,6 10 10,457 10,897 11,302 11,648 11,908 12,043 12,000 11,711 11,083 0,7 10 10,437 10,859 11,251 11,590 11,852 12,000 11,981 11,721 11,111 0,8 10 10,364 10,716 11,045 11,336 11,567 11,711 11,721 11,529 11,020 0,9 10 10,223 10,440 10,644 10,828 10,979 11,083 11,111 11,02 10,720 10 10 10 10 10 10 10 10 10 10 4. Построим теперь приближенные решения задачи методом Галеркина.

Для этого в пункте «Получение приближенного решения» вводим порядок приближенного решения n := и пробные функции V1(k, x, y ) := x k ( x ) y k ( y ).

Программа автоматически вычисляет нормирующие множители 1 1 VV 5, 7, 9,..., 30 105 где VVk = V1(k, x, y) = (V 1(k, x, y ))2 dxdy, k = 1,2,...,n.

D После выдаются нормированные функции V (k, x, y) = V1(k, x, y ) /VV : k V (0, x, y ) 10 ;

( y) ;

V (1, x, y ) 30x( x ) y ( y ) (только при n = 2 и n = 3 );

V (2, x, y ) 105x 2 ( x ) y ( y) (только при n = 3 ).

V (3, x, y ) 252x 3 ( x ) y Тогда, оператор равный левой части уравнения (7.12), примененный к этим функциям равен ( y) 60x ( x) ;

L(1, x, y,V ) 60 y 5 ( y) 420xy 2 ( y ) + 210x2 ( x)( y) L(2, x, y,V ) 210( x ) y 7 7 420x ( x ) y ;

( y ) 1512x2 y3 ( y ) + L(3, x, y,V ) 1512x( x ) y 9 ( y) 1512x3 ( x) y2.

+ 1512x ( x ) y 9 После этого вычисляются коэффициенты (7.9) системы уравнений (7.8) и, решая эту систему, находятся коэффициенты Ck C = (3.187705).

Выписываем получившееся пробное решение при n = u1 (x, y ) = 10 + C1v1 = 10 + 3,187705 5 x( x ) y ( y ) C1 = 3,187705, и таблицу пробного решения (матрица U 2 ).

Таблица 7. Таблица приближенного решения задачи при n= x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 10 10 10 10 10 10 10 10 10 10 0,1 10 10,247 10,438 10,575 10,658 10,685 10,658 10,575 10,438 10,247 0,2 10 10,438 10,779 11,023 11,169 11,218 11,169 11,023 10,779 10,438 0,3 10 10,575 11,023 11,342 11,534 11,598 11,534 11,342 11,023 10,575 0,4 10 10,658 11,169 11,534 11,753 11,826 11,753 11,534 11,169 10,658 0,5 10 10,685 11,218 11,598 11,826 11,903 11,826 11,598 11,218 10,685 0,6 10 10,658 11,169 11,534 11,753 11,826 11,753 11,534 11,169 10,658 0,7 10 10,575 11,023 11,342 11,534 11,598 11,534 11,342 11,023 10,575 0,8 10 10,438 10,779 11,023 11,169 11,218 11,169 11,023 10,779 10,438 0,9 10 10,247 10,438 10,575 10,658 10,685 10,658 10,575 10,438 10,247 10 10 10 10 10 10 10 10 10 10 Далее необходимо выписать таблицу 7.4 сравнения получившегося пробного решения u1 (x, y ) и предыдущего решения 0 ( x, y ) = 10 (матрица U 23).

Таблица 7. Таблица разности приближенных решений задачи u1 (x, y ) 0 ( x, y ) x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 0 0 0 0 0 0 0 0 0 0 0,1 0 0,247 0,438 0,575 0,658 0,685 0,658 0,575 0,438 0,247 0,2 0 0,438 0,779 1,023 1,169 1,218 1,169 1,023 0,779 0,438 0,3 0 0,575 1,023 1,342 1,534 1,598 1,534 1,342 1,023 0,575 0,4 0 0,658 1,169 1,534 1,753 1,826 1,753 1,534 1,169 0,658 0,5 0 0,685 1,218 1,598 1,826 1,903 1,826 1,598 1,218 0,685 0,6 0 0,658 1,169 1,534 1,753 1,826 1,753 1,534 1,169 0,658 0,7 0 0,575 1,023 1,342 1,534 1,598 1,534 1,342 1,023 0,575 0,8 0 0,438 0,779 1,023 1,169 1,218 1,169 1,023 0,779 0,438 0,9 0 0,247 0,438 0,575 0,658 0,685 0,658 0,575 0,438 0,247 0 0 0 0 0 0 0 0 0 0 Выписываем максимальный по модулю элемент таблицы, позволяющий оценить погрешность получившегося решения 1 = max u1 ( x, y ) v0 (x, y ) = 1,903.

D Далее из пункта «Сравнение точного и приближенного решений»

выписываем таблицу этого сравнения (матрица U12 ).

Таблица 7. Таблица разности точного решения и приближенного решения при n= x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 0 0 0 0 0 0 0 0 0 0 0,1 0 0,138 0,227 0,271 0,276 0,250 0,200 0,138 0,075 0,024 0,2 0 0,227 0,366 0,427 0,422 0,365 0,272 0,163 0,063 –0,001 0,3 0 0,271 0,427 0,483 0,455 0,363 0,232 0,092 –0,023 –0,069 0,4 0 0,276 0,422 0,455 0,396 0,269 0,105 –0,056 –0,167 –0,170 0,5 0 0,250 0,365 0,363 0,269 0,109 –0,081 –0,254 –0,350 –0,295 0,6 0 0,200 0,272 0,232 0,105 –0,081 –0,289 –0,466 –0,542 –0,425 0,7 0 0,138 0,163 0,092 –0,056 –0,254 –0,466 –0,638 –0,698 –0,535 0,8 0 0,075 0,063 –0,023 –0,167 –0,350 –0,542 –0,698 –0,750 –0,581 0,9 0 0,024 –0,001 –0,069 –0,170 –0,295 –0,425 –0,535 –0,581 –0,474 0 0 0 0 0 0 0 0 0 0 Максимальный по модулю элемент равен 1 = maxU ( x, y ) u1( x, y ) = 0, D 5. Построим теперь второе пробное решение. Для этого возвращаемся в начало пункта «Получение приближенного решения» и вводим порядок приближенного решения n := 2.

И аналогично пункту 4 выписываем получившиеся пробное решение и таблицы пробного решения, сравнения с предыдущим решением u1 (x, y ), сравнения с точным решением. Из вектора коэффициентов Ck получим решение 1. C = 1.934607 C1 = 1,494924,C2 = 1,934607 u2 (x, y ) = 10 + C1v1 + C2 v2 = 30 = 10 + 1,494924 5 x ( x ) y( y ) + 1,934607 7 x 2 ( x ) y 2 ( y ).

Выписываем таблицу второго пробного решения Таблица 7. Таблица приближенного решения задачи при n= x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 10 10 10 10 10 10 10 10 10 10 0,1 10 10,121 10,224 10,306 10,364 10,394 10,392 10,355 10,28 10,163 0,2 10 10,224 10,432 10,610 10,747 10,830 10,846 10,784 10,630 10,373 0,3 10 10,306 10,610 10,886 11,111 11,259 11,306 11,228 11,001 10,600 0,4 10 10,364 10,747 11,111 11,418 11,632 11,716 11,632 11,343 10,811 0,5 10 10,394 10,830 11,259 11,632 11,903 12,020 11,938 11,606 10,976 0,6 10 10,392 10,846 11,306 11,716 12,020 12,163 12,088 11,740 11,063 0,7 10 10,355 10,784 11,228 11,632 11,938 12,088 12,027 11,696 11,040 0,8 10 10,280 10,630 11,001 11,343 11,606 11,740 11,696 11,425 10,876 0,9 10 10,163 10,373 10,600 10,811 10,976 11,063 11,040 10,876 10,540 10 10 10 10 10 10 10 10 10 10 Выписываем таблицы сравнения с первым пробным решением (табл. 7.7) и точным решением (табл. 7.8) и получившиеся погрешности Таблица 7. Таблица разности приближенных решений задачи u 2 ( x, y ) u 1 (x, y) x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 0 0 0 0 0 0 0 0 0 0 0,1 0 –0,126 –0,214 –0,269 –0,293 –0,291 –0,265 –0,220 –0,158 –0,084 0,2 0 –0,214 –0,348 –0,413 –0,422 –0,388 –0,323 –0,239 –0,149 –0,065 0,3 0 –0,269 –0,413 –0,456 –0,424 –0,339 –0,228 –0,114 –0,022 0,024 0,4 0 –0,293 –0,422 –0,424 –0,335 –0,194 –0,037 0,098 0,174 0,154 0,5 0 –0,291 –0,388 –0,339 –0,194 0,000 0,194 0,339 0,388 0,291 0,6 0 –0,265 –0,323 –0,228 –0,037 0,194 0,41 0,554 0,571 0,405 0,7 0 –0,220 –0,239 –0,114 0,098 0,339 0,554 0,684 0,673 0,464 0,8 0 –0,158 –0,149 –0,022 0,174 0,388 0,571 0,673 0,646 0,438 0,9 0 –0,084 –0,065 0,024 0,154 0,291 0,405 0,464 0,438 0,293 0 0 0 0 0 0 0 0 0 0 Максимальное по модулю значение таблицы 7. 2 = max u 2 ( x, y ) u1( x, y) = 0,684.

D Таблица 7. Таблица разности точного решения и приближенного решения при n= x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 0 0 0 0 0 0 0 0 0 0 0,1 0 0,013 0,013 0,002 –0,017 –0,041 –0,065 –0,082 –0,084 –0,060 0,2 0 0,013 0,018 0,014 –0,000 –0,023 –0,051 –0,076 –0,086 –0,066 0,3 0 0,002 0,014 0,027 0,031 0,024 0,004 –0,022 –0,044 –0,045 0,4 0 –0,017 –0,000 0,031 0,061 0,075 0,068 0,042 0,007 –0,017 0,5 0 –0,041 –0,023 0,024 0,075 0,109 0,113 0,086 0,038 –0,004 0,6 0 –0,065 –0,051 0,004 0,068 0,113 0,120 0,088 0,029 –0,020 0,7 0 –0,082 –0,076 –0,022 0,042 0,086 0,088 0,046 –0,025 –0,071 0,8 0 –0,084 –0,086 –0,044 0,007 0,038 0,029 –0,025 –0,105 –0,144 0,9 0 –0,060 –0,066 –0,045 –0,017 –0,004 –0,020 –0,071 –0,144 –0,181 0 0 0 0 0 0 0 0 0 0 Максимальное по модулю значение таблицы 7. 2 = max U (x, y ) u2 (x, y ) = 0,181.

D 6. Построим теперь третье пробное решение. Для этого возвращаемся в начало пункта «Получение приближенного решения» и вводим порядок приближенного решения n := 3.

И аналогично пункту 4 выписываем получившиеся пробное решение и таблицы пробного решения, сравнения с предыдущим решением u 2 ( x, y ), сравнения с точным решением. Из вектора коэффициентов Ck получим решение 1. C = 0.909613 C1 = 1,89638,C2 = 0,909613,C3 = 0,688075, 0. u 3 (x, y ) = 10 + C1v1 + C2 v2 + C3v3 = 10 + 1,89638 5 x( x ) y ( y ) + + 0,909613 7 x 2 ( x ) y 2 ( y ) + 0,688075 9 x 3 ( x ) y 3 ( y ).

105 Выписываем таблицу третьего пробного решения Таблица 7. Таблица приближенного решения задачи при n= x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 10 10 10 10 10 10 10 10 10 10 0,1 10 10,149 10,270 10,360 10,419 10,445 10,435 10,388 10,301 10,172 0,2 10 10,270 10,497 10,676 10,802 10,868 10,866 10,788 10,624 10,365 0,3 10 10,360 10,676 10,939 11,137 11,255 11,279 11,188 10,960 10,573 Окончание табл. 0,4 10 10,419 10,802 11,137 11,405 11,584 11,646 11,56 11,286 10,782 0,5 10 10,445 10,868 11,255 11,584 11,822 11,932 11,864 11,564 10,967 0,6 10 10,435 10,866 11,279 11,646 11,932 12,086 12,047 11,744 11,093 0,7 10 10,388 10,788 11,188 11,56 11,864 12,047 12,040 11,762 11,118 0,8 10 10,301 10,624 10,960 11,286 11,564 11,744 11,762 11,540 10,988 0,9 10 10,172 10,365 10,573 10,782 10,967 11,093 11,118 10,988 10,639 10 10 10 10 10 10 10 10 10 10 По этим точкам автоматически строится график полученного пробного решения Рис 7.1. График пробного решения при n= Выписываем таблицы сравнения со вторым пробным решением (табл. 7.10) и точным решением (табл. 7.11) и получившиеся погрешности Таблица 7. Таблица разности приближенных решений задачи u 3 (x, y) u 2 (x, y) x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 0 0 0 0 0 0 0 0 0 0 0,1 0 0,028 0,046 0,054 0,055 0,051 0,043 0,032 0,021 0,010 0,2 0 0,046 0,065 0,066 0,056 0,038 0,020 0,004 –0,006 –0,008 0,3 0 0,054 0,066 0,053 0,026 –0,003 –0,027 –0,041 –0,041 –0,026 0,4 0 0,055 0,056 0,026 –0,014 –0,049 –0,070 –0,072 –0,057 –0,029 0,5 0 0,051 0,038 –0,003 –0,049 –0,080 –0,089 –0,073 –0,042 –0,009 0,6 0 0,043 0,020 –0,027 –0,070 –0,089 –0,078 –0,041 0,004 0,031 0,7 0 0,032 0,004 –0,041 –0,072 –0,073 –0,041 0,013 0,066 0,079 0,8 0 0,021 –0,006 –0,041 –0,057 –0,042 0,004 0,066 0,116 0,112 0,9 0 0,010 –0,008 –0,026 –0,029 –0,009 0,031 0,079 0,112 0,100 0 0 0 0 0 0 0 0 0 0 Максимальное по модулю значение 3 = max u 3 ( x, y ) u 2 (x, y ) = 0,116.

D Таблица 7. Таблица разности точного решения и приближенного решения при n= x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0, y 0 0 0 0 0 0 0 0 0 0 0 0,1 0 0,041 0,058 0,056 0,038 0,010 –0,022 –0,050 –0,063 –0,050 0,2 0 0,058 0,084 0,081 0,056 0,015 –0,031 –0,072 –0,092 –0,074 0,3 0 0,056 0,081 0,079 0,058 0,021 –0,023 –0,063 –0,085 –0,071 0,4 0 0,038 0,056 0,058 0,047 0,026 –0,002 –0,030 –0,050 –0,046 0,5 0 0,010 0,015 0,021 0,026 0,029 0,024 0,012 –0,003 –0,013 0,6 0 –0,022 –0,031 –0,023 –0,002 0,024 0,043 0,047 0,033 0,011 0,7 0 –0,050 –0,072 –0,063 –0,030 0,012 0,047 0,059 0,041 0,008 0,8 0 –0,063 –0,092 –0,085 –0,050 –0,003 0,033 0,041 0,011 –0,032 0,9 0 –0,050 –0,074 –0,071 –0,046 –0,013 0,011 0,008 –0,032 –0,081 0 0 0 0 0 0 0 0 0 0 Максимальное по модулю значение 3 = maxU ( x, y ) u3 ( x, y) = 0,092.

D 7. Проведем анализ полученных погрешностей 1 = 1,903, 1 = 0,75, 2 = 0,684, 2 = 0,181, 3 = 0,116, 3 = 0,092.

Очевидно, что погрешности n сходятся к нулю и как следствие пробные решения достаточно быстро сходятся к точному решению. Это гарантирует, что даже небольшое число слагаемых в пробном решении обеспечивает малую погрешность. Например, уже 10 0,001.

7.6. Вопросы для самоконтроля.

1. Как находится функция, названная в методе Галеркина невязкой?

2. Как строится система линейных алгебраических уравнений для определения коэффициентов пробного решения?

3. Проверьте истинность формул (7.8), (7.9).

4. В каком случае невязка пробного решения сходится при n к нулю в среднем?

5. Опишите алгоритм приближенного решения задачи (7.1)–(7.2) методом Галеркина.

6. Приведите физическую интерпретацию задачи (7.10)–(7.11).

7. Найдите решение задачи (7.10)–(7.11), используя двойной тригонометрический ряд Фурье.

8. Приведите пример пробных функций для задачи (7.10)–(7.11).

9. Как проверить ортогональность функций двух переменных на плоской области D ?

10.Как нормировать функцию двух переменных на области D ?

8. Прикладной математический пакет «MathCAD»

8.1. О программе Миллионы людей занимаются математическими расчетами, иногда в силу влечения к таинствам математики и ее внутренней красоте, а чаще в силу профессиональной или иной необходимости, не говоря уже об учебе. Ни одна серьезная разработка в любой отрасли науки и производства не обходится без трудоемких математических расчетов.

Вначале эти расчеты выполнялись на программируемых микрокалькуляторах или с помощью программ на универсальных языках программирования, таких, как Бейсик или Паскаль. Постепенно для облегчения расчетов были созданы специальные математические компьютерные системы.

Одна из самых мощных и эффективных математических систем – MathCAD. Она существует в двух вариантах: стандартном MathCAD Standard и профессиональном MathCAD Professional (PRO). Стандартная версия ориентирована на большинство пользователей, а профессиональная – на профессионалов, серьезно занимающихся математическими расчетами.

Системы MathCAD традиционно занимают особое место среди множества таких систем (MatLAB, Mathematica и др.) и по праву могут называться самыми современными, универсальными и массовыми математическими системами.

Они позволяют выполнять как численные, так и аналитические (символьные) вычисления, имеют чрезвычайно удобный математико-ориентированный интерфейс и прекрасные средства графики.

Системы класса MathCAD предоставляют уже привычные, мощные, удобные и наглядные средства описания алгоритмов решения математических задач. Преподаватели и студенты вузов получили возможность подготовки с их помощью наглядных и красочных обучающих программ в виде электронных книг с действующими в реальном времени примерами. Новейшая система MathCAD PRO настолько гибка и универсальна, что может оказать неоценимую помощь в решении математических задач как школьнику, постигающему азы математики, так и академику, работающему со сложнейшими научными проблемами. Система имеет достаточные возможности для выполнения наиболее массовых символьных вычислений и (аналитических) преобразований.

Исключительно велика роль систем класса MathCAD в образовании.

Облегчая и делая интересным решение сложных математических задач, система снимает психологический барьер при изучении математики. Грамотное применение систем в учебном процессе обеспечивает повышение фундаментальности математического и технического образования, содействует подлинной интеграции процесса образования в нашей стране.

8.2. Основные понятия и функции Для работы в системе Mathcad достаточно поместить курсор в желаемое место окна редактирования (красный крестик на цветном дисплее) и затем начать ввод математического выражения (черное обрамление, называемое математической областью, внутри которой это выражение набирается).

Маленькая черная рамка в математической области есть поле ввода.

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

Арифметические операции: сложение – ‘+’;

возведение в степень – ‘^’;

факториал – ‘!’;

абсолютная величина – ‘|’;

умножение – ‘*’;

корень n-ой степени – ‘Ctrl’+’\’ (т. е. необходимо одновременно нажать две клавиши ‘Ctrl’ и ’\’);

квадратный корень – ‘\’;

вычитание – ‘–‘;

суммирование – ‘Ctrl’+‘Shift’+‘4’ 3 (например, i 2 = 14 );

произведение – ‘Ctrl’+‘Shift’+‘3’ (например, i 2 = 36 ).

i =1 i = Логические операторы: больше – ‘’;

меньше – ‘’;

больше либо равно – ‘Ctrl’+’0’;

меньше либо равно – ‘Ctrl’+’9’;

не равно – ‘Ctrl’+’3’;

равно – ‘Ctrl’+’=’.

Символы присвоений (вводится правая и левая части): присвоение значений переменных и функций (на экране появится “ := ”) – ‘:’;

булево равенство (на экране – жирный знак “=”) – ‘Ctrl’+’=’.

Символы вычислений (вводятся левая часть, а правая вычисляется автоматически): получение числового значения – ‘=’;

получение символьного значения (“”) – ‘Ctrl’+’.’.

Для определения точности полученного результата необходимо два раза щелкнуть левой кнопкой мыши на поле, его содержащем (или через меню инструментов: Format Result, или, если программа русифицирована, Формат Результат), и во всплывающем окне «Format result» установить число десятичных знаков (Точность отображения или Number of decimal places) от до 15. После нажатия кнопки «OK» результат автоматически будет округлен до необходимого числа знаков.

Введение основных аналитических функций: синус – sin(x);

косинус – cos(x);

тангенс – tan(x);

котангенс – cot(x);

арксинус – asin(x);

арккосинус – acos(x);

арктангенс – atan(x);

арккотангенс – acot(x);

экспонента – exp(x) или e x ;

натуральный логарифм – ln(x);

десятичный логарифм – log(x);

логарифм x по основанию a – log(x,a), синус гиперболический – sinh(x);

косинус гиперболический – cosh(x);

тангенс гиперболический – tanh(x);

котангенс гиперболический – coth(x);

арксинус гиперболический – asinh(x);

арккосинус гиперболический – acosh(x);

арктангенс гиперболический – atanh(x);

арккотангенс гиперболический – acoth(x).

Все встроенные функции системы Mathcad можно получить при нажатии ‘Ctrl’+’E’ (или через меню инструментов: Insert Function, или, если программа русифицирована, Вставка Функция) и во всплывающем окне «Insert function» выбрать необходимую функцию. После нажатия кнопки «OK»

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

rkfixed(y, x1, x2, npoints, D) – возвращает матрицу решений задачи Коши для нормальной системы обыкновенных дифференциальных уравнений.

Решение отыскивается численно по методу Рунге-Кутта. Функция имеет пять аргументов: y – вектор, содержащий начальные условия неизвестных функций;

x1, x 2 – начальная и конечная точка интегрирования;

npoints – число точек раз биения отрезка [x1, x 2] (чем больше, тем точнее найденное решение);

D – векто розначная функция, содержащая правые части дифференциальных уравнений;

bvalfit(v1, v2, x1, x2, xf, D, load1, load2, score) – позволяет привести краевую задачу для нормальной системы обыкновенных дифференциальных уравнений к задаче Коши (которая решается с помощью функции rkfixed) и возвращает начальные условия, оставшиеся неизвестными в точке x1. Функция имеет девять аргументов: v1, v2 – вектора, содержащие предположительные началь ные условия, оставшиеся неизвестными в точках x1 и x 2 соответственно;

x1, x – начальная и конечная точка интегрирования;

xf – точка между x1 и x 2, в которой траектории решений начинающихся в точках x1 и x 2 будут равны;

D – n-элементная векторозначная функция, содержащая правые части дифферен циальных уравнений;

load1, load2 – векторозначная функция, в чьи n элементы переписываются величины n неизвестных функций в x1 и x 2 соответственно;

score – n-элементная векторозначная функция используемая для того, чтобы определить как решения сочетаются в точке xf (обычно определяют score(xf, y):= y, чтобы решения по всем неизвестным функциям сочетались в xf);

root(f(x),x,a,b) – возвращает корень уравнения f (x ) = 0 по переменной x на отрезке [a,b ] ;

if(cond,a,b) – возвращает значение a, если условие cond истинно, и значение b, если ложно (в качестве условия cond обычно используется логический оператор, например, i 2 ).

Задание дискретных величин осуществляется при нажатии ‘;

’. Например, i := 0..3 j := 1,1.1..1.5.

Чтобы набрать эти формулы, необходимо с клавиатуры набрать i : 0;

3 и j :1,1.1;

1.5. Первая формула означает, что i принимает значения 0, 1, 2, 3, а вторая, что j принимает значения 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 (т. е. вторая цифра показывает каков шаг дискретной величины).

С помощью дискретных величин в системе Mathcad можно организовывать простейшие циклы, с помощью которых удобно задавать матрицы и векторы (см. п.8.4).

Все описанные символы операторов и основных элементарных функций можно ввести с помощью мыши из всплывающего меню (View Toolbars Calculator, Evaluation, Boolean, Calculus или Вид Панели инструментов Арифметика, Вычисления, Логика, Исчисления).

Если необходимо ввести символы греческого алфавита, то необходимо воспользоваться меню View Toolbars Greek (Вид Панели инструментов Греческий Алфавит).

8.3. Операторы математического анализа Нахождение производной первого порядка осуществляется по нажатию клавиш ‘Shift’+‘/’. При этом производную можно вычислить либо в точке, либо получить ее аналитическое выражение. Например, производная в точке d x := 13 x ln(x ) = 79.689, dx а аналитически d x ln(x ) 2 x ln(x) + x.

dx Если задана функция нескольких переменных, то данный оператор вычисляет частную производную по указанной переменной f (x, y ) := x 2 + y 2 + xy d f ( x, y ) 2 y + x.

dy Для нахождения производных высших порядков необходимо нажать и задать порядок производной, переменную ‘Ctrl’+‘Shift’+‘/’ дифференцирования и функцию. Например, d3 2 x ln( x).

dx3 x Для вычисления смешанных производных функции нескольких переменных необходимо находить производную по одной переменной от производных по другим переменным. Например, (x ln(y) + cos(x y) ) 26 sin(x y) y3 x2 + 6 cos(x y) y 2 x + d3 d2 dx3 dy 2 y + 6 sin(x y ) y.

Нахождение неопределенных интегралов, если это возможно, осуществляется по нажатию ‘Ctrl’+’I’. Например, 12 x ln( x)dx 2 x ln(x) 4 x.

Для вычисления определенных интегралов необходимо нажать ‘Shift’+‘7’ и ввести пределы интегрирования, подынтегральную функцию, переменную интегрирования. После нажатия знака ‘=’ получим числовой результат.

Например, x ln( x)dx = 0.636.

Все описанные символы операторов математического анализа можно ввести с помощью мыши из всплывающего меню (View Toolbars Calculus или Вид Панели инструментов Исчисления).

8.4. Функции и операторы матриц Самый простой способ создания массива чисел состоит в создании массива из пустых полей и их последующем заполнении. Для этого нажмите ‘Ctrl’+’M’, чтобы вызвать диалоговое окно и определите в нем нужное количество строк и столбцов. Нажмите «OK», чтобы создать массив пустых полей. Щелкните на поле, чтобы выделить его, затем введите требуемое значение. Для перемещения между полями можно также использовать клавишу «Tab».

При определении больших массивов, для каждого элемента которых существует формула, через которую он выражается, удобнее использовать дискретные аргументы. Например, зададим двумерный массив (матрицу) i := 0.. 2 j := 0.. j X i, j := i 2 + (чтобы набрать последнюю формулу, необходимо с клавиатуры набрать X [i, j : i ^2 + j / 2 ). После этого можно просмотреть получившуюся матрицу целиком, набрав X =, любой столбец, набрав X ‘Ctrl’+’6’ 1=, или любой элемент матрицы, набрав X [1,2 =, и на экране автоматически появится 0 0.5 1 0. X = 1 1.5 2 X 1 = 1.5 X1,2 = 2.

4 4.5 5 4. Для задания векторов необходимо указывать только один индекс.

Например, i := 0..2 X i := i 2 X = 1.

При обращении к матрице необходимо помнить, что нумерация строк и столбцов начинается с 0. Например, если хотим получить элемент, стоящий на пересечении 2-й строки и 3-го столбца, необходимо запросить элемент X1, 2.

Операторы, определенные для векторов и матриц: сложение – ‘+’;

векторное произведение – ‘Ctrl’+’8’;

определитель – ‘|’;

скалярное произведение – ‘*’;

обратная матрица – ‘^-1’ (т.е. возведение в степень –1);

степени матриц – ‘^’;

умножение – ‘*’;

нижний индекс – ‘[‘;

вычитание – ‘– ‘;

суммирование элементов – ‘Ctrl’+’4’;

верхний индекс – ‘Ctrl’+’6’;

транспонирование – ‘Ctrl’+’1’.

Встроенные функции, определенные для матриц:

rows(A) – число строк матрицы A;

cols(A) – число столбцов матрицы A;

max(A) – максимальный элемент матрицы A;

min(A) – минимальный элемент матрицы A;

rank(A) – ранг матрицы A;

rref(A) – приведение матрицы A к ступенчатому виду;

length(B) – количество элементов вектора B;

augment(A,B) – объединение матриц A и B (добавлением матрицы B справа к матрице A);

matrix(m,n,f) – создает матрицу размерности m n, где элементами матрицы являются значения функции двух переменных f (i, j ), i = 0,1,..., m 1, j = 0,1,..., n 1 ;

submatrix(A,a,b,c,d) – возвращает матрицу, состоящую из всех элементов, которые содержатся в строках с a по b и столбцах с c по d матрицы A;

Все описанные операторы (кроме встроенных функций) можно ввести с помощью мыши из всплывающего меню (View Toolbars Matrix или Вид Панели инструментов Матрицы).

8.5. Создание декартовых графиков на плоскости и в пространстве Для создания декартового графика на плоскости нажмите клавишу ‘Shift’+‘2’ или введите с помощью мыши из всплывающего меню график на плоскости (View Toolbars Graph или Вид Панели инструментов График). В открывшемся поле графика (рис. 8.1) поместите в поле ввода функцию или выражение, которое будет отображаться графически, а в поле ввода 2 непрерывную или дискретную переменную по которой строится график.

Рис. 8.1. Инициализация графика функции Затем нажмите клавишу F9, чтобы построить график. По умолчанию, если функция определена, график будет построен на отрезке [10, 10].

Например, необходимо ввести функцию f ( x) = e2 x + ln(x ) и построить график этой функции на интервале (0.3;

1.5 ).

Для этого определяем функцию f (x) f (x ) := e 2x + ln(x ) и в поле ввода 5 и 6 (рис. 8.2) помещаем начальное и конечное значение интервала 0.3 и 1.5 соответственно. В поле 3 и 4 показываются максимальное и минимальное значение функции на этом интервале.

Рис. 8.2. Построение графика функции на отрезке Чтобы на одном графике изобразить несколько функций, необходимо в поле ввода 1 (рис. 8.1) через запятую перечислить функции или выражения, которые будут отображаться графически, а в поле ввода 2 (рис. 8.1) через запятую соответствующие непрерывные или дискретные переменные (если переменные совпадают, то достаточно указать только одну переменную).

Например, на рис. 8.3 построены графики функций sin(x ) и ln( y) 1.

Рис. 8.3. Построение нескольких графиков Если два раза щелкнуть мышью в поле графика, тогда во всплывающем окне «Formatting Currently Selected X-Y Plot» можно установить параметры отображения осей и линий графика. В первой закладке «X-Y Axes» («Оси X-Y») можно выбрать вид координатных осей, наложить сеть и установить ее размер, откорректировать масштаб. Во второй закладке «Traces» («След») можно установить параметры всех отображаемых линий (trace 1, trace2 и т. д.):

наименование, цвет, толщину, тип (непрерывный, пунктир или точками для дискретных функций). В третьей закладке «Labels» («Метки») можно ввести названия графика и координатных осей.

Для создания декартового графика в пространстве нажмите клавишу ‘Ctrl’+‘2’ или введите с помощью мыши из всплывающего меню поверхностный график (View Toolbars Graph или Вид Панели инструментов График). В открывшемся поле графика (рис. 8.4) поместите в поле ввода 7 матрицу размерности m n, элементами которой являются значения функции z = f ( x, y ) в точках ( x i, y j ) (i = 1, m, j = 1, n). Отображаемая матрица должна содержать по меньшей мере 2 столбца и две строки.

Рис. 8.4. Инициализация графика функции Затем нажмите клавишу F9, чтобы построить график.

Например, необходимо построить график функции z = sin(x 2 + y 2 ), если x [1,5;

1,5], y [1,5;

1,5]. Для этого определяем функцию двух переменных и вычисляем значения функции, разбивая отрезки на 20 частей. В результате получим матрицу M.

f (x, y ) := sin(x 2 + y 2 ) X ( x) := 1.5 + 0.15 x Y ( y ) := 1.5 + 0.15 y F ( x, y) := f ( X ( x),Y ( y)) m := 20 n := M := matrix(m, n, F ) Подставляя матрицу M в поле 7 (рис. 8.4), получим требуемый график Рис. 8.5. График функции 8.6. Программные блоки Для решения многих задач в системе Mathcad используются программные блоки. В начале любого блока обязательно должно присутствовать служебное слово Given, далее идет тело блока и в конце стандартная функция, закрывающая блок.

В частности для решения систем алгебраических уравнений линейных или нелинейных используется программный блок «Given – Find». Например, Given a + 2b + 3c = 4a + 5b + 6c = 7a + 8b + 9c = c Find(a, b, c ) 2c + c.

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

Приложение A Лабораторная работа «Решение краевой задачи для линейного обыкновенного дифференциального уравнения второго порядка»

Задание на лабораторную работу 1. В пункте «Постановка задачи» ввести вместо данных примера непрерывные функции уравнения p(x), q(x), f(x) и числовые параметры задачи a, b, a0, a1, a2, b1, b2, b3, d0, d1, d2 своего варианта.

2. В пункте «Получение точного решения» показано, как в системе MathCAD краевая задача сводится к задаче Коши и решается с помощью стандартной функции. Необходимо выписать полученную таблицу точного решения.

3. В пункте «Получение приближенного решения методом Галеркина»

ввести вместо данных примера полученную самостоятельно систему пробных функций V(k, x). Выполнить построение пяти пробных решений задачи, вводя последовательно n=1, …, n=5, взяв в качестве проверочных функций пробные и функции Лежандра. Переписать значения Ck и, подставив их, получить пробное решение. Выписать таблицы пробных решений, таблицы сравнения с предыдущим пробным решением, с таблицей точного решения и таблицу невязок.

4. В пункте «Получение приближенного решения вариационным методом Ритца» выполнить построение пяти пробных решений задачи, вводя последовательно n=1, …, n=5. Переписать значения Ck и, подставив их, получить пробное решение. Выписать значения параметров функционала, таблицы пробных решений, таблицы сравнения с предыдущим пробным решением, с таблицей точного решения и таблицу невязок.

5. В пункте «Получение приближенного решения интегральным методом наименьших квадратов» выполнить построение пяти пробных решений задачи, вводя последовательно n=1, …, n=5. Переписать значения Ck и, подставив их, получить пробное решение. Выписать таблицы пробных решений, таблицы сравнения с предыдущим пробным решением, с таблицей точного решения и таблицу невязок.

6. Анализируя результаты пункта «Выводы», сделать выводы о точности построенных решений методами Галеркина, Ритца и методом наименьших квадратов.

Постановка задачи Требуется на отрезке [a,b] найти решение y(x) дифференциального уравнения d2 d y + p ( x) y + q ( x) y f ( x) 2 dx dx удовлетворяющее условиям d a0 y ( a) + a1 y ( a) a dx d b0 y ( b) + b1 y ( b) b dx Введите непрерывные функции уравнения p(x), q(x), f(x) и числовые параметры задачи a, b, a0, a1, a2, b1, b2, b3, d0, d1, d d0 := 1 d1 := 1 d2 := f ( x) := 2x2 6x + p( x) := 3 q( x) := a := 0 b := 1 a0 := 1 a1 := 1 a2 := 1 b0 := 1 b1 := 1 b2 := Получение точного решения в системе MathCAD Найдем «точное решение» y(x), используя стандартные функции системы MathCAD. Для этого представим дифференциальное уравнение в виде нормальной системы дифференциальных уравнений первого порядка, полагая y0=y, y1=y'.

d y0 y dx d p ( x) y1 q( x) y0 + f ( x) y dx удовлетворяющая условиям a0 y0 ( a) + a1 y1( a) a b0 y0 ( b) + b1 y1( b) b Чтобы решить эту краевую задачу, сведем ее сначала к задаче Коши y D( x, y) := p ( x) y1 q( x) y0 + f ( x) a+b xf := Введем в вектор v1 возможные значения y(a), если a0 = 0 и y'(a) в противном случае, в вектор v2 – y(b), если b0=0 и y'(b) в противном случае (начальные приближения).

v10 := v20 := a2 a if a0 0, v10, v a0 a load1( a, v1) := a2 a if a0 0, v10, v a1 a b2 b if b0 0, v20, v b1 b load2( b, v2) := b2 b if b0 0, v20, v b0 b score( xf, y) := y a+b S := bvalfit v1, v2, a, b,, D, load1, load2, score S = ( 0.153224 0.062349 ) Первый коэффициент вектора S – точное значение y(a), если a0=0 и y'(a) в противном случае, второй коэффициент – точное значение y(b), если b0=0 и y'(b) в противном случае. Т. е. свели краевую задачу к задаче Коши.

Найдем решение этой задачи Коши, разбив отрезок на N частей a2 a y0 := if a0 0, S 0, S a0 a a2 a y1 := if a0 0, S 0, S a1 a Введите число точек разбиения отрезка [a, b] N := Получим матрицу решений Y := rkfixed ( y, a, b, N, D) Вычислим значения компьютерного решения в 10 промежуточных точках n := 0.. T n, 0 := Y N n( ba), T n, 1 := Y N n( ba), Матрица компьютерного решения, где первая строка значения переменной x, вторая – y, имеет вид 0.0 0.1 0.2 0.3 0.4 0. TT = 0.846776 0.865220 0.886703 0.905491 0.914371 0. 1. 0.6 0.7 0.8 0. 0.863987 0.779347 0.632877 0.402849 0. График точного компьютерного решения n := 0.. N Y n,1 0. 0 0.5 Yn, В некоторых случаях можно найти точное аналитическое ре шение. Для данного примера решение имеет вид e2 + 7 7+e x k ( x) := e e +x 2x ( ) ( ) 2 e e 3 e e 2 Найдем матрицу аналитического решения i := 0.. ba T1i, 0 := a + i b a T1i, 1 := k a + i Матрица аналитического решения 0.0 0.1 0.2 0.3 0.4 0. T1T = 0.846776 0.865220 0.886703 0.905491 0.914371 0. 1. 0.6 0.7 0.8 0. 0.863987 0.779347 0.632877 0.402849 0. Сравним аналитическое и компьютерное решения TS 0 := T TS 1 := T 1 T1 Матрица сравнения аналитического и компьютерного решения 0.0 0.1 0.2 0.3 0.4 0. TST = 2.5110 13 10 10 9 3.52 3.47 10 8.25 10 1.48 10 2.35 0.6 0.7 0.8 0.9 1. 1.77 13 9 9 5.06 10 7.08 10 9.73 10 1.32 10 Максимальное значение |TS ij | равно K := max( max( TS 1 ), min ( TS 1 )) K = 0. Получение приближенного решения методом Галеркина n Введите порядок пробного решения U n =V(0, x)+ CkV (k, x).

k = n := Введите систему пробных функций, полученную в разделе 2.2.

x2 x3 x V (k, x ) := if k = 0, 6 5 x, if k = 1, 1 x +, if k = 2, 1 x +, if k = 3, 1 x +, 5 k = 4, 1 x + x,if k = 5, 1 x + x, 0 if 6 7 Получение пробных функций можно автоматизировать с помощью стандартных функций системы MathCAD (см. разделы 8.4, 8.6) Т. е. пробные функции равны 1 V ( 0, x) 6 5 x V ( 1, x) 1 x + x V ( 2, x) 1 x + x 2 3 1 1 V ( 3, x) 1 x + x V ( 4, x) 1 x + x V ( 5, x) 1 x + x 4 5 5 6 Введем оператор, равный левой части уравнения d2 d L( k, x, V ) := V ( k, x) + p ( x) V ( k, x) + q( x) V ( k, x) d x2 dx Применим этот оператор к первым пяти пробным функциям f ( x) L( 0, x, V ) 2 x2 + 4 x 17 2 9 L(1, x, V ) 4x + x L(2, x, V ) x+ 5 x + x 2 2 3 3 2 4 12 12 L(3, x, V ) x +5 x 2x + x 2 3 5 10 L(4, x, V ) x +5 x 2x + x 3 3 2 30 4 18 5 L(5, x, V ) x +5 x 2x + x 7 7 1. В качестве поверочных функций возьмем пробные W ( k, x) := V ( k, x) Найдем коэффициенты системы уравнений AC=B для определения оптимальных коэффициентов пробных решений Ck i := 1.. n b Bi1 := ( f ( x) L( 0, x, V ) ) W ( i, x) d x a T B = ( 13.977778 12.945833 12.476190 12.224206 12.073696 ) i := 1.. n j := 1.. n b A i1, j 1 := L ( j, x, V ) W ( i, x) d x a 2.562963 2.645833 2.694603 2.726852 2. 2.404167 2.465774 2.499286 2.520618 2. A= 2.334603 2.385714 2.410794 2.425714 2. 2.29828 2.343535 2.363492 2.374319 2. 2.277022 2.318707 2.335331 2.343383 2. Решая систему уравнений AC=B матричным методом, получим вектор коэффициентов Ck C := A 1 B T C = ( 1.132936 2.499320 2.647392 0.073920 1.213380 ) Выпишите получившееся пробное решение для n = 5.

Следовательно, пробное решение U(x) для n = 5 имеет вид n U ( x) := V ( 0, x) + Ck 1 V ( k, x) k = Выпишите матрицу получившегося пробного решения, разбив отрезок [a, b] на 10 частей, и график этого решения i := 0.. ba U2i, 0 := a + i b a U2i, 1 := U a + i Матрица пробного решения 0.0 0.1 0.2 0.3 0.4 0. U2T = 0.846764 0.865187 0.886664 0.905468 0.914354 0. 1. 0.6 0.7 0.8 0. 0.863945 0.779309 0.632856 0.402832 0. Найдем вектор коэффициентов Ck для предыдущего пробного решения.

Для этого решим систему уравнений A1C=B1, где A1 угловая матрица ( n 1 )-го порядка матрицы A, а B1 вектор-столбец, содержащий первые ( n 1 ) элементы столбца B.

C1 := if n 1, ( submatrix ( A, 0, n 2, 0, n 2) ) 1 submatrix ( B, 0, n 2, 0, 0), T C1 = ( 1.283640 3.626226 0.295870 3.106352 ) Получим матрицу предыдущего (для n = 4 ) пробного решения, разбив отрезок [a, b] на 10 частей n n 1, V ( 0, x) + C1k 1 V ( k, x), V ( 0, x) UP( x) := if k = i := 0.. ba U3i, 0 := a + i ba U3i, 1 := UP a + i Матрица предыдущего пробного решения 0. 0 0.1 0. 2 0. 3 0.4 0. U3 T = 0. 0.865612 0.887337 0.906106 0. 914814 0. 0.6 0.7 0. 8 0. 9 1. 0. 0.864404 0. 779985 0.633662 0. Выпишите матрицу сравнения полученных решений для n = 5 и n = U23 0 := U2 U23 1 := U2 1 U3 Матрица сравнения приближенных решений Un(x) и Un-1(x) 0. 0 0. 1 0.2 0. 3 0. 4 0. U23 T = 0. 0002 0.0004 0.0007 0. 0006 0. 0005 0. 0.6 0.7 0. 8 0. 9 1. 0. 0.0005 0.0007 0. 0008 0. 0007 Максимальное значение |U23 ij | равно K11 := max ( max ( U23 1 ), min ( U23 1 )) K11 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Найдем невязку полученного решения n R ( x) := L ( 0, x, V ) f ( x) + Ci1 L ( i, x, V ) i = i := 0.. ba UN i, 0 := a + i ba UN i, 1 := R a + i Матрица невязок 0.0 0.1 0.2 0.3 0.4 0. UN T = 0.01089 0.00326 0.00192 0.00149 0.00199 0. 1. 0.6 0.7 0.8 0. 0.00202 0.00128 0.00198 0.00283 0. Максимальное значение |UN ij | равно K12 := max ( max ( UN 1 ), min ( UN 1 )) K12 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Сравним точное и приближенное (при n = 5 ) решения, для этого найдем разность матриц этих решений T и U U12 0 := U2 U12 1 := T 1 U2 Матрица сравнения точного и приближенного решения 0.0 0.1 0.2 0.3 0.4 0. U12T = 0.00001 0.00003 0.00004 0.00002 0.00002 0. 1. 0.6 0.7 0.8 0. 0.00004 0.00004 0.00002 0.00002 0. Максимальное значение |U12 ij | равно K13 := max ( max ( U12 1 ), min ( U12 1 )) K13 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

2. В качестве проверочных функций возьмем многочлены Лежандра )k, dk ( P ( k, t) := if k 0, t k k 2 k! d t a + b x W ( k, x) := P k, ba Т. е. ортогональные функции 3 W ( 0, x) 1 W ( 1, x) 2 x 1 W ( 2, x) ( 2 x 1) 2 ( 2 x 1) 1 ( 2 x 1) 3 W ( 3, x) ( 2 x 1) + W ( 4, x) ( 2 x 1) + 3 ( 2 x 1) 1 ( 2 x 1) + ( 2 x 1) 4 2 2 Найдем коэффициенты системы уравнений AC=B для определения оптимальных коэффициентов пробных решений Ck i := 1.. n b Bi1 := ( f ( x) L ( 0, x, V ) ) W ( i 1, x) d x a ( 22.333333 ) 11 T B= 1.000000 0.066667 6.281962 10 4.456747 i := 1.. n j := 1.. n b A i1, j 1 := L ( j, x, V ) W ( i 1, x) d x a 3.888889 4.125 4.28 4.388889 4. 0.555556 0.383333 0.24 0.126984 0. 0.05 0.017143 0. A= 0.022222 0. 4.629321 10 12 0.011429 0.005291 0. 0. 7.606315 10 9 8.418551 10 0.002645 0. 0. Решая систему уравнений AC=B матричным методом, получим вектор коэффициентов Ck C := A 1 B T C = ( 1.135995 2.510843 2.638116 0.080296 1.220556 ) Выпишите получившееся пробное решение для n = 5.

Следовательно, пробное решение U(x) для n = 5 имеет вид n U ( x) := V ( 0, x) + Ck 1 V ( k, x) k = Выпишите матрицу получившегося пробного решения, разбив отрезок [a,b] на 10 частей.

i := 0.. ba U2i, 0 := a + i b a U2i, 1 := U a + i Матрица пробного решения 0.0 0.1 0.2 0.3 0.4 0. U2T = 0.846776 0.865205 0.886695 0.905507 0.914394 0. 1. 0.6 0.7 0.8 0. 0.863970 0.779327 0.632875 0.402859 0. Найдем вектор коэффициентов Ck для предыдущего пробного решения.


C1 := if n 1, ( submatrix ( A, 0, n 2, 0, n 2) ) 1 submatrix ( B, 0, n 2, 0, 0), T C1 = ( 1.269787 3.612514 0.320711 3.131183 ) Получим матрицу предыдущего (для n = 4 ) пробного решения, разбив отрезок [a, b] на 10 частей n n 1, V (0, x) + UP( x) := if C1k 1 V ( k, x), V ( 0, x) k = i := 0.. ba U3i, 0 := a + i ba U3i, 1 := UP a + i Матрица предыдущего пробного решения 0.0 0.1 0.2 0.3 0.4 0. U3T = 0.846800 0.865451 0.887081 0.905721 0.914300 0. 1. 0.6 0.7 0.8 0. 0.863751 0.779356 0.633114 0.403070 0. Выпишите матрицу сравнения полученных решений для n = 5 и n = U23 0 := U2 U23 1 := U2 1 U3 Матрица сравнения приближенных решений Un(x) и Un-1(x) 0.0 0.1 0.2 0.3 0.4 0. U23T = 0.00002 0.00025 0.00039 0.00021 0.00009 0. 1. 0.6 0.7 0.8 0. 0.00022 0.00003 0.00021 0.00020 0. Максимальное значение |U23 ij | равно K21 := max ( max ( U23 1 ), min ( U23 1 ) ) K21 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Найдем невязку полученного решения n R ( x) := L ( 0, x, V ) f ( x) + Ci 1 L ( i, x, V ) i = i := 0.. ba UN i, 0 := a + i ba UN i, 1 := R a + i Матрица невязок 0.0 0.1 0.2 0.3 0.4 0. UN T = 0.0088 0.0035 0.0012 0.0024 0.0026 0. 1. 0.6 0.7 0.8 0. 0.0026 0.0022 0.0013 0.0032 0. Максимальное значение |UN ij | равно K22 := max ( max ( UN 1 ), min ( UN 1 ) ) K22 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Сравним точное и приближенное (при n = 5 ) решения, для этого найдем разность матриц этих решений T и U U12 0 := U2 U12 1 := T 1 U2 Матрица сравнения точного и приближенного решения 0.0 0.1 0.2 0.3 0.4 0. U12T = 0.000000 0.000015 0.000008 0.000015 0.000023 0. 1. 0.6 0.7 0.8 0. 0.000017 0.000020 0.000002 0.000010 0. Максимальное значение |U12 ij | равно K23 := max ( max ( U12 1 ), min ( U12 1 ) ) K23 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Получение приближенного решения вариационным методом Ритца Введем обозначения x p (t ) dt a ( x) := K ( x) q( x) K ( x) := e g ( x) := K ( x) f ( x) Следовательно, ( x) 2 exp( 3 x) K ( x) exp( 3 x) g ( x) exp ( 3 x) ( 2 x2 6 x + 2) Вычислим значения параметров функционала a Ta := if a0 0,, 0 Ta = a b Tb := if b0 0,, 0 Tb = b a a := if a0 0 a1 0, K ( a), 0 a = a b b := if b0 0 b1 0, K ( b), 0 b = 0. b a qa := if a0 0 a1 0, K ( a), 0 qa = a b qb := if b0 0 b1 0, K ( b), 0 qb = b Найдем коэффициенты системы уравнений AC=B для определения оптимальных коэффициентов пробных решений Ck d N ( k, x) := V ( k, x) dx i := 1.. n b Bi1 := [K ( x ) N (0, x ) N (i, x) + ( ( x) V (0, x) + g ( x) ) V (i, x)]dx a [b (V (0,b ) Tb ) + qb] V (i, b) [a (V (0, a) Ta ) qa] V (i, a) T B = ( 5.784685 5.613800 5.551399 5.522788 5.507581 ) i := 1.. n j := 1.. n b Ai1, j1 := [K ( x ) N (i, x ) N ( j, x ) + ( x ) V (i, x ) V ( j, x)]dx + a + b V (i,b) V ( j,b ) + a V (i, a ) V ( j, a) 1.166562 1.137719 1.127741 1.123351 1. 1.137719 1.106236 1.095059 1.090057 1. A= 1.127741 1.095059 1.083183 1.077762 1. 1.123351 1.090057 1.077762 1.072061 1. 1.12109 1.087451 1.074892 1.068999 1. Решая систему уравнений AC=B матричным методом, получим вектор коэффициентов Ck C := A 1 B T C = ( 1.140938 2.564241 2.466128 0.133009 1.130778 ) Выпишите получившееся пробное решение для n = 5.

Следовательно, пробное решение U(x) для n = 5 имеет вид n U ( x) := V ( 0, x) + Ck 1 V ( k, x) k = Выпишите матрицу получившегося пробного решения, разбив отрезок [a,b] на 10 частей, и график этого решения i := 0.. ba U2i, 0 := a + i b a U2i, 1 := U a + i Матрица пробного решения 0.0 0.1 0.2 0.3 0.4 0. U 2T = 0.846781 0.865215 0.886702 0.905499 0.914375 0. 1. 0.6 0.7 0.8 0. 0.863973 0.779349 0.632854 0.402854 0. Найдем вектор коэффициентов Ck для предыдущего пробного решения.

C1 := if n 1, ( submatrix ( A, 0, n 2, 0, n 2) ) 1 submatrix ( B, 0, n 2, 0, 0), T C1 = ( 1.217724 3.293890 0.232232 2.844897 ) Получим матрицу предыдущего (для n = 4 ) пробного решения, разбив отрезок [a, b] на 10 частей.

n n 1, V ( 0, x) + UP( x) := if C1k 1 V ( k, x), V ( 0, x) k = i := 0.. ba U3i, 0 := a + i ba U3i, 1 := UP a + i Матрица предыдущего пробного решения 0. 0 0.1 0.2 0. 3 0. 4 0. U3 T = 0.846705 0.865260 0. 886786 0.905463 0.914222 0. 1. 0. 6 0. 7 0.8 0. 0.864049 0. 779613 0. 633110 0.402690 0. Выпишите матрицу сравнения полученных решений для n = 5 и n = U23 0 := U2 U23 1 := U2 1 U3 Матрица сравнения приближенных решений Un(x) и Un-1(x) 0.0 0.1 0.2 0.3 0.4 0. U23T = 0.00008 0.00005 0.00008 0.00004 0.00015 0. 1. 0.6 0.7 0.8 0. 0.00008 0.00026 0.00021 0.00016 0. Максимальное значение |U23 ij | равно K31 := max( max( U23 1 ), min ( U23 1 ) ) K31 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Найдем невязку полученного решения n R ( x) := L ( 0, x, V ) f ( x) + Ci1 L ( i, x, V ) i = i := 0.. ba UN i, 0 := a + i ba UN i, 1 := R a + i Матрица невязок 0.0 0.1 0.2 0.3 0.4 0. UN T = 0.0055 0.0021 0.0003 0.0016 0.0008 0. 1. 0.6 0.7 0.8 0. 0.0021 0.0002 0.0039 0.0025 0. Максимальное значение |UN ij | равно K32 := max( max( UN 1 ), min ( UN 1 ) ) K32 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Сравним точное и приближенное (при n = 5 ) решения, для этого найдем разность матриц этих решений T и U U12 0 := U2 U12 1 := T 1 U2 Матрица сравнения точного и приближенного решения 0.0 0.1 0.2 0. 3 0.4 0. U12 T = 0.000005 0.000005 0.000001 0. 000008 0. 000004 0. 1. 0. 6 0.7 0. 8 0. 0.000013 0.000002 0.000021 0.000005 0. Максимальное значение |U12 ij | равно K33 := max( max( U12 1 ), min ( U12 1 ) ) K33 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Получение приближенного решения интегральным методом наименьших квадратов Найдем коэффициенты системы уравнений AC=B для определения оптимальных коэффициентов пробных решений Ck i := 1.. n b Bi1 := ( f ( x) L ( 0, x, V ) ) L ( i, x, V ) d x a T B = ( 88.511111 93.291667 96.312381 98.384921 99.892290 ) i := 1.. n j := 1.. n b A i1, j 1 := L ( i, x, V ) L ( j, x, V ) d x a 16.051852 16.675 17.04254 17.284392 17. 16.675 17.469048 17.935 18.239153 18. A= 17.04254 17.935 18.493587 18.87254 19. 17.284392 18.239153 18.87254 19.320507 19. 17.455404 18.452466 19.14522 19.653061 20. Решая систему уравнений AC=B матричным методом, получим вектор коэффициентов Ck C := A 1 B T C = ( 1.137789 2.526360 2.595082 0.032496 1.202066 ) Выпишите получившееся пробное решение для n = Следовательно, пробное решение U(x) для n = 5 имеет вид n U ( x) := V ( 0, x) + C k 1 V ( k, x) k = Выпишите матрицу получившегося пробного решения, разбив отрезок [a, b] на 10 частей.

i := 0.. ba U2i, 0 := a + i b a U2i, 1 := U a + i Таблица пробного решения 0. 0 0. 1 0. 2 0.3 0. 4 0. U2 T = 0.846776 0. 865207 0.886699 0. 905508 0. 914391 0. 1. 0.6 0. 7 0.8 0. 0. 863966 0.779328 0. 632879 0. 402862 0. Найдем вектор коэффициентов Ck для предыдущего пробного решения.

Для этого решим систему уравнений A1C=B1, где A1 угловая матрица ( n 1 )-го порядка матрицы A, а B1 вектор-столбец, содержащий первые ( n 1 ) элементы столбца B.

C1 := if n 1, ( submatrix ( A, 0, n 2, 0, n 2) ) 1 submatrix ( B, 0, n 2, 0, 0), T C1 = ( 1.250085 3.512826 0.168005 3.058491 ) Получим матрицу предыдущего (для n = 4 ) пробного решения, разбив отрезок [a, b] на 10 частей.

n n 1, V ( 0, x) + C1k 1 V ( k, x), V ( 0, x) UP( x) := if k = i := 0.. ba U3i, 0 := a + i ba U3i, 1 := UP a + i Таблица предыдущего пробного решения 0.0 0.1 0.2 0.3 0.4 0. U3T = 0.846773 0.865383 0.886952 0.905566 0.914170 0. 1. 0.6 0.7 0.8 0. 0.863744 0.779382 0.633126 0.403032 0. Выпишите таблицу сравнения полученных решений для n = 5 и n = U23 0 := U2 U23 1 := U2 1 U3 Матрица сравнения приближенных решений Un(x) и Un-1(x) 0.0 0.1 0.2 0.3 0.4 0. U23T = 0.000003 0.000176 0.000253 0.000058 0.000221 0. 1. 0.6 0.7 0.8 0. 0.000223 0.000054 0.000248 0.000170 0. Максимальное значение |U23 ij | равно K41 := max ( max ( U23 1 ), min ( U23 1 ) ) K41 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Найдем невязку полученного решения n R ( x) := L ( 0, x, V ) f ( x) + Ci1 L ( i, x, V ) i = i := 0.. ba UN i, 0 := a + i ba UN i, 1 := R a + i Матрица невязок 0.0 0.1 0.2 0.3 0.4 0. UN T = 0.0076 0.0032 0.0008 0.0024 0.0022 0. 1. 0.6 0.7 0.8 0. 0.0028 0.0019 0.0018 0.0034 0. Максимальное значение |UN ij | равно K42 := max ( max ( UN 1 ), min ( UN 1 ) ) K42 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Сравним точное и приближенное (при n = 5 ) решения, для этого найдем разность матриц этих решений T и U U12 0 := U2 U12 1 := T 1 U2 Матрица сравнения точного и приближенного решения 0.0 0.1 0.2 0.3 0.4 0. U12T = 0.000000 0.000012 0.000004 0.000017 0.000020 0. 1. 0.6 0.7 0.8 0. 0.000020 0.000019 0.000002 0.000013 0. Максимальное значение |U12 ij | равно K43 := max ( max ( U12 1 ), min ( U12 1 ) ) K43 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Выводы Таким образом, при n = 5 получаем следующие результаты:

1. Использование двух систем поверочных функций: пробных и многочленов Лежандра методом Галеркина Поверочные ф-ции max| y n ( x) y n1 (x ) | max| Y (x ) yn (x ) | max| Rn (x) | Пробные функции K11 = 0.000806 K12 = 0.010887 K13 = 0. Многочл. Лежандра K21 = 0.000387 K22 = 0.00879 K23 = 0. 2. Вариационный метод Ритца max| y n ( x) y n1 (x ) | max| Y (x ) yn (x ) | max| Rn (x) | K31 = 0.000479 K32 = 0.017592 K33 = 0. 3. Интегральный метод наименьших квадратов max| y n ( x) y n1 (x ) | max| Y (x ) yn (x ) | max| Rn (x) | K41 = 0.000347 K42 = 0.009138 K43 = 0. Приложение Б Лабораторная работа «Решение начально-краевой задачи для одномерного параболического уравнения методом Галеркина»

Задание на лабораторную работу 1. В пункте «Постановка задачи» ввести вместо данных примера непрерывные функции уравнения K(x) (K0), (x), g(x), f(x) и числовые параметры задачи a, b, a0, a1, a2, b0, b1, b2, c1, c2, c3, c4 своего варианта.


2. В пункте «Получение точного решения» ввести найденное аналитически число слагаемых в разложении решения в ряд, обеспечивающих точность решения 0.001. Необходимо выписать полученную таблицу точного решения.

3. В пункте «Получение приближенного решения» выполнить построение пяти пробных решений задачи, вводя последовательно n=1, …, n=5, тремя системами пробных и поверочных функций. Переписать значения коэффициентов Y100,k и, подставив их, получить пробное решение при t=T.

Выписать таблицы пробных решений, таблицы сравнения с предыдущим пробным решением и точным решением, таблицы невязок R1 и R2. Сделать выводы о системе пробных и поверочных функций, дающих лучшее приближение к точному решению задачи.

Постановка задачи Требуется в плоской области D={(x, t) | a x b, t 0 } найти решение U(x, t) дифференциального уравнения d d d d U K ( x, t) U ( x, t) U U K ( x, t) g ( x, t) dt dx dx dx удовлетворяющее двум краевым условиям d a0 U ( a, t) + a1 U ( a, t) a2 ( t) dx d b0 U ( b, t) + b1 U ( b, t) b2 ( t) dx и начальному условию U ( x, 0) f ( x) Рассмотрим случай, когда функции K,, g, a2, b2 не зависят от t. Введите непрерывные функции уравнения K(x) (K0), (x), g(x), f(x) и числовые параметры задачи a, b, a0, a1, a2, b0, b1, b2, c1, c2, c3, c c1 := 0.1 c2 := 1 c3 := 2 c4 := ( x) := K ( x) := c1 g ( x) := b := a := a0 := 1 a1 := 0 a2 := c2 b0 := 1 b1 := 0 b2 := c c3 c2 c4 b f ( x) := c4 x + x + c b то есть ( 1 2) f ( x) x + x+ Проверим соответствие граничных и начальных условий d if a0 f ( a) + a f ( a) a2, "Yes", "No" = "Yes" da d if b0 f ( b) + b1 f ( b) b2, "Yes", "No" = "Yes" db Если хотя бы одно условие не выполняется (="No"), то задача поставлена не корректно.

Введите конечный момент времени, до которого необходимо провести исследование вашего варианта T := Получение точного решения Найдем точное решение U(x, t), используя разложение функции в ряд Фурье. Если ( x) = 0, ( x) = 0, K ( x) = c1 = const, то решение имеет вид 2 k c M t kx (b a) sin.

Ak e U(x, t)=U0(x, t)+ b a k = Введите число слагаемых, обеспечивающих точность решения 0. M := Если a1=0, b1=0, то функцию U0(x, t) можно взять в виде b0 a2 b b2 a0 a ( b2 a0 b0 a2) x x U0 ( x) := + U0 ( x) 1 + a0 b0 ( b a) a0 b0 ( b a) Вычислим коэффициенты Ak i := 1.. M b i x ( f ( x) U0 ( x) ) sin dx A2i1 := ba ba a ( 1 2) x f ( x) U0 ( x) x + x Следовательно, точное решение U(x, t) имеет вид 2 k c M t k x (b a) sin UT ( x, t) := U0 ( x) + A2k 1 e b a k = Выпишите матрицу U1 получившегося точного решения, разбив отрезок [a, b] на 10 частей при t=0;

0.1T;

0.2T;

..., T.

i := 0.. j := 0.. i j T U1i, j := UT a + ( b a), 10 Матрица точного решения при t=0, 0.1T,..., T 1 1 1 1 1 1 1 1 1 1 0.211599 0.231618 0.250214 0.267028 0.282339 0.296448 0.309585 0.321918 0.333577 0.344658 0. 0.379059 0.359137 0.339146 0.319252 0.299609 0.280336 0.2615 0.243128 0.225222 0.2077720. 0.772674 0.752617 0.732617 0.712618 0.692626 0.672661 0.652752 0.632932 0.613232 0.593678 0. 0.968656 0.948705 0.928705 0.908705 0.888705 0.868706 0.848709 0.828719 0.8087430.788790. U1= 0.967448 0.947401 0.927401 0.907401 0.887401 0.867401 0.847401 0.827402 0.8074040.787410. 0.768656 0.748705 0.728705 0.708705 0.688705 0.668706 0.648709 0.628719 0.6087430.588790. 0.372674 0.352617 0.332617 0.312618 0.292626 0.272661 0.252752 0.232932 0.213232 0.193678 0. 0.220941 0.240863 0.260854 0.280748 0.300391 0.319664 0.3385 0.356872 0.374778 0.392228 0. 1.011599 1.031618 1.050214 1.067028 1.082339 1.096448 1.109585 1.121918 1.133577 1.144658 1. 2 2 2 2 2 2 2 2 2 2 График точного решения при t=T UT ( x, T ) 0 x Получение приближенного решения n Введите порядок пробного решения U n =V(0,x)+ V (k, x) H (k, t).

k = n := Возьмем пробные функции в следующем виде k := 1.. n k V0( k, x) := ( x a) ( x b) Нормируем их. Для этого вычислим нормировочные коэффициенты и выпишем их аналитические выражения i := 1.. n b VV i1 := ( V0 ( i, x) ) d x a Получили нормированные пробные функции x V0 ( k, x) b0 a2 b b2 a0 a ( b2 a0 b0 a2 ) V ( k, x) := if k 0,, + a0 b0 ( b a) a0 b0 ( b a) VV k Выпишем первые функции x V ( 1, x) x ( x ) V ( 0, x) 1 + 7 V ( 3, x) 6 x ( x ) V ( 2, x) x ( x ) 3 9 2 55 V ( 4, x) 3 x ( x ) V ( 5, x) x ( x ) 4 11 2 Введем функции V1(k, x) и V2(k, x), равные первой и второй производной от функции V(k, x) k := 1.. n ( b2 a0 b0 a2) k k ( x a) + ( x b) k ( x a) k 0, V1( k, x) := if, a0 b0 ( b a) VV k k k 2 k ( x a) + ( x b) k ( k 1) ( x a) V2( k, x) := if k 0,, VV k В качестве поверочных функций возьмем пробные W ( k, x) := V ( k, x) Найдем коэффициенты системы дифференциальных уравнений d A H C H + B для отыскания функций Hk(t) с начальными условиями dt A H ( 0) D i := 1.. n b Bi1 := K ( x) V2( 0, x) + K ( x) V1 ( 0, x) + ( x) V ( 0, x) + g( x) W ( i, x) d x d dx a T B =( 0 0 0 0 0) i := 1.. n j := 1.. n b A i1, j1 := V ( j, x) W ( i, x) d x a 1.000000 0.935414 0.828079 0.725361 0. 0.935414 1.000000 0.968246 0.904684 0. A= 0.828079 0.968246 1.000000 0.981071 0. 0.725361 0.904684 0.981071 1.000000 0. 0.636654 0.833750 0.939374 0.987421 1. i := 1.. n j := 1.. n b K ( x) d2 V ( j, x) + d K ( x) d V ( j, x) + ( x) V ( j, x) W( i, x) d x Ci1, j 1 := d x d x dx a 0.101321 0.094777 0.088097 0.082314 0. 0.094777 0.14185 0.164814 0.175994 0. C= 0.088097 0.164814 0.218854 0.255608 0. 0.082314 0.175994 0.255608 0.318438 0. 0.077408 0.181021 0.280437 0.366838 0. i := 1.. n b D1i1 := ( f ( x) V ( 0, x) ) W ( i, x) d x a T D1 = ( 3.193847 2.987570 2.644756 2.316690 2.033376 ) Приведем систему к виду d H A1 H + B1 с начальными условиями.

dt D2.

H ( 0) A1 := A C 1. 0.547134 0.511797 0.440485 1. 1. 2.144675 4.520624 8.887704 14. A1 = 4.383875 0.215828 13.040036 24.367999 39. 15.745476 29.423672 48. 4.280313 2. 1.625566 1.520577 7.067005 13.206158 21. B1 := A B (0 ) 15 15 T B1 = 2.352 10 0 4.625 10 2.951 D2 := A D ( ) 12 11 11 T D2 = 3.194 9.53 10 2.363 10 2.021 10 3.535 Найдем решение получившейся системы дифференциальных уравнений.

H := D D ( t, H ) := A1 H + B Y := rkfixed ( H, 0, T, 100, D) Следовательно, при t=T получим следующие коэффициенты 2. 1. Y 100, k = 2. 1. 0. где первый коэффициент показывает t=T, а остальные H1(T), H2(T),...,Hn(T), и для примера решение имеет вид U (x,1) = U0( x ) + 2.454013 (x ) + 1.503843 ( x) 2.197842 ( x ) + 1.751109 (x ) U1 U2 U3 U 0.665031 (x ) U Выпишите аналогичным образом решение задачи своего варианта при n = 5.

Пробное решение U(x) для n = 5 при t=0;

0.1T;

0.2T;

..., T имеет вид n U ( x, s) := V ( 0, x) + V ( k, x) Y 10s, k k = Выпишите матрицу U2 получившегося пробного решения, разбив отрезок [a, b] на 10 частей при t=0;

0.1T;

0.2T;

..., T.

i := 0.. j := 0.. ba U2i, j := U a + i, j Матрица пробного решения при t=0;

0.1T;

0.2T;

..., T 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 0.211736 0.232938 0.251526 0.268133 0.283214 0.297098 0.310024 0.322170 0.333666 0.344613 0. 0.3791370.3589270.3387870.3188830.2993170.2801530.2614200.2431310.2252870.2078780. 0.7726170.7538540.7343030.7143010.6940780.6737910.6535490.6334230.6134600.5936910. 0.9687050.9486390.9286320.9086460.8886640.8686780.8486890.8287030.8087290.7887760. U2 = 0.9674010.9462920.9258490.9057990.8859650.8662320.8465310.8268210.8070820.7873070. 0.7687050.7486390.7286320.7086460.6886640.6686780.6486890.6287030.6087290.5887760. 0.3726170.3538540.3343030.3143010.2940780.2737910.2535490.2334230.2134600.1936910. 0.220863 0.241073 0.261213 0.281117 0.300683 0.319847 0.338580 0.356869 0.374713 0.392122 0. 1.011736 1.032938 1.051526 1.068133 1.083214 1.097098 1.110024 1.122170 1.133666 1.144613 1. 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2. Получим матрицу предыдущего (для n = 4 ) пробного решения AP := submatrix ( A, 0, n 2, 0, n 2) CP := submatrix ( C, 0, n 2, 0, n 2) D1P := submatrix ( D1, 0, n 2, 0, 0 ) A1P := AP CP 0. 0. 0.758218 0. 2.674879 2.825390 4. 0. A1P = 0. 8. 3.610220 4. 1.082121 10 5. 1.847938 2. HP := AP D1P D( t, HP) := A1P HP YP := rkfixed ( HP, 0, T, 100, D) Следовательно, предыдущее пробное решение U(x) для n = 5 при t=0;

0.1T;

..., T имеет вид n UP( x, s) := V ( 0, x) + V ( k, x) YP10s, k k = Выпишите матрицу U3 получившегося пробного решения, разбив отрезок [a, b] на 10 частей при t=0, 0.1T,..., T, и график этого решения при t=T i := 0.. j := 0.. ba U3i, j := UP a + i, j Матрица предыдущего пробного решения при t=0, 0.1T,..., T 1. 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1. 0. 0.211736 0.229566 0.246335 0.262140 0.277069 0.291201 0.304609 0.317356 0.329501 0. 0.379137 0.356331 0.334449 0.313414 0.293155 0.273609 0.254718 0.236430 0.218700 0.201484 0. 0.772617 0.751021 0.729735 0.708747 0.688046 0.667621 0.647463 0.627562 0.607910 0.588501 0. 0.968705 0.949740 0.930511 0.911065 0.891445 0.871688 0.851829 0.831897 0.811921 0.791923 0. U3 = 0.967401 0.949631 0.931371 0.912691 0.893656 0.874321 0.854737 0.834952 0.815005 0.794933 0. 0.768705 0.749740 0.730511 0.711065 0.691445 0.671688 0.651829 0.631897 0.611921 0.591923 0. 0.372617 0.351021 0.329735 0.308747 0.288046 0.267621 0.247463 0.227562 0.207910 0.188501 0. 0. 0.220863 0.243669 0.265551 0.286586 0.306845 0.326391 0.345282 0.363570 0.381300 0. 1. 1.011736 1.029566 1.046335 1.062140 1.077069 1.091201 1.104609 1.117356 1.129501 1. 2. 2.

000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2.000000 2. Выпишите матрицу сравнения полученных решений для n = 5 и n = Матрица сравнения пробных решений 0 0 0 0 0 0 0 0 0 3.025 10 0.003 0.005 0.006 0.006 0.006 0.005 0. 0.005 0.004 0. 2.54 10 0.003 0.004 0.005 0.006 0.007 0.007 0.007 0.007 0.006 0. 3.104 10 0.003 0.005 0.006 0.006 0.006 0.006 0.006 0.006 0.005 0. 4.396 0.001 0.002 0.002 0.003 0.003 0.003 0. 0.003 0.003 0. U23 := U2 U3 = 4.032 10 0.003 0.006 0.007 0.008 0.008 0.008 0. 0.008 0.008 0. 2.043 10 0.001 0.002 0.002 0.003 0.003 0.003 0. 0.003 0.003 0. 8.464 10 0.003 0.005 0.006 0.006 0.006 0.006 0.006 0.006 0.005 0. 1.736 10 0.003 0.004 0.005 0.006 0.007 0.007 0.007 0.007 0.006 0. 1.892 10 0.003 0.005 0.006 0.006 0.006 0.005 0. 0.005 0.004 0. 0 0 0 0 0 0 0 0 0 Максимальное значение |U23ij| при t = T равно ( ( ) ( )) 10 K11 := max max U23, min U K11 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Сравним точное и приближенное (при n = 5 ) решения, для этого найдем разность матриц этих решений U1 и U Матрица сравнения точного и приближенного решения 0. 0.00000 0.00000 0.00000 0.00000 0. 0.00000 0. 0.00000 0.00000 0. 0.00014 0.00132 0.00131 0.00111 0.00088 0.00065 0.00044 0.00025 0. 0. 0. 0. 0.00008 0.00021 0.00036 0.00037 0.00029 0.00018 0.00008 0.00000 0.00006 0. 0.00006 0.00001 0. 0.00124 0.00169 0.00168 0. 0.00145 0. 0.00113 0. 0.00005 0.00007 0.00007 0.00006 0.00004 0.00003 0.00002 0.00002 0.00001 0.00001 0. U12 := U1 U2 = 0.00005 0.00111 0.00155 0.00160 0.00144 0.00117 0.00087 0.00058 0.00032 0.00010 0. 0.00005 0.00007 0.00007 0.00006 0.00004 0.00003 0.00002 0.00002 0.00001 0.00001 0. 0.00001 0. 0.00006 0.00124 0.00169 0. 0.00168 0. 0.00145 0.00049 0. 0.00008 0.00021 0.00036 0.00037 0.00029 0.00018 0.00008 0. 0. 0.00006 0. 0. 0.00014 0.00132 0.00131 0.00111 0.00088 0.00065 0.00044 0.00025 0.00009 0. 0. 0.00000 0.00000 0.00000 0. 0.00000 0. 0.00000 0.00000 0.00000 0. Максимальное значение |U12ij| при t = T равно ( ( ) ( )) 10 K12 := max max U12, min U K12 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Найдем невязки полученного пробного решения.

При t=T получим невязку n R1( x ) := V (k, x ) A1k1,z 1 Y100, z K ( x) V 2(k, x ) + K (x ) V1(k, x ) + d n n k =1 k =1 dx z = + (x ) V (k, x ) Y100,k K ( x) V 2(0, x ) + K ( x) V1(0, x ) + ( x) V (0, x ) + g ( x) d dx i := 0.. ba UN1i, 0 := a + i b a UN1i, 1 := R1 a + i Таблица невязок при t=T 0. 0 0.31 0. 63 0. 94 1.26 1. UN1T = 0.0225 0.0031 0. 0002 0.0020 0. 0001 0. 3. 1. 88 2. 20 2. 51 2. 0.0001 0. 0020 0.0002 0. 0031 0. Максимальное значение |UNij| при t = T равно ( ( ) ( )) 1 K13 := max max UN1, min UN K13 = 0. Выпишите это значение для n=1, …, n=5 и сделайте вывод.

При t=0 получим невязку n R2( x) := V ( 0, x) f ( x) + D2 k1 V ( k, x) k = i := 0.. ba UN2i, 0 := a + i b a UN2i, 1 := R2 a + i Таблица невязок при t= 0.0 0.31 0. 63 0.94 1.26 1. UN2T = 0. 00 1.08 1013 5.60 1014 2.06 1013 4.61 1013 5.33 3. 1.88 2.20 2.51 2. 0. 13 13 12 1.75 10 6. 38 10 1.57 10 1.80 10 Максимальное значение |UN2ij| при t = 0 равно ( ( ) ( )) 1 K14 := max max UN2, min UN K14 = 1.799227 Выпишите это значение для n=1, …, n=5 и сделайте вывод.

Выводы Таким образом, при n = 5 получаем следующие результаты:

max|Un (x, T) Un 1 (x, T) | max|U (x,T ) Un (x,T ) | max| R1n ( x, T ) | max| R2 n (x ) | K11 = 0.007272 K12 = 0.000156 K13 = 0.022507 K14 = 1.799227 Сделайте вывод о точности полученных решений.

Приложение В Лабораторная работа «Решение начально-краевой задачи для одномерного гиперболического уравнения методом Галеркина»

Задание на лабораторную работу 1. В пункте «Постановка задачи» ввести вместо данных примера непрерывные функции уравнения K1(x) (K0), K2(x), (x), (x), g(x), f(x), (x) и числовые параметры задачи a, b, a0, a1, a2, b0, b1, b2, c1, c2, c3, c4 своего варианта.

2. В пункте «Получение точного решения» ввести найденное аналитически число слагаемых в разложении решения в ряд, обеспечивающих точность решения 0.001. Необходимо выписать полученную таблицу точного решения.

3. В пункте «Получение приближенного решения» выполнить построение пяти пробных решений задачи, вводя последовательно n=1, …, n=5, тремя системами пробных и поверочных функций. Переписать значения коэффициентов Y100,k и, подставив их, получить пробное решение при t=T.

Выписать таблицы пробных решений, таблицы сравнения с предыдущим пробным решением и точным решением, таблицы невязок R1 и R2. Сделать выводы о системе пробных и проверочных функций, дающих лучшее приближение к точному решению задачи.

Постановка задачи Требуется в плоской области D={(x, t) | a x b, t 0 } найти решение U(x, t) дифференциального уравнения 2 d d d d U + ( x, t) U K1 ( x, t) U K2( x, t) U ( x, t) U g ( x, t) 2 dt dx dt dx удовлетворяющее двум краевым условиям d a0 U ( a, t) + a1 U ( a, t) a2 ( t) dx d b0 U ( b, t) + b1 U ( b, t) b2 ( t) dx и начальным условиям U ( x, 0 ) f ( x) d ( x) U ( x, 0) dt Рассмотрим случай, когда функции, K1, K2,, g, a2, b2 не зависят от t.

Введите непрерывные функции уравнения (x), K1(x) (K10), K2(x), (x), g(x), f(x), (x) и числовые параметры задачи a, b, a0, a1, a2, b0, b1, b2, c1, c2, c3, c c1 := 1 c2 := 1 c3 := 2 c4 := ( x) := 0 K1( x) := c1 ( x) := K2( x) := 0 g ( x) := b := a := a0 := 1 a1 := 0 a2 := c2 b0 := 1 b1 := 0 b2 := c c3 c2 c4 b ( x) := 0 f ( x) := c4 x + x + c b то есть ( 1 2) f ( x) x + x+ Проверим соответствие граничных и начальных условий d if a0 f ( a) + a1 f ( a) a2, "Yes", "No" = "Yes" da d if b0 f ( b) + b1 f ( b) b2, "Yes", "No" = "Yes" db d if a0 ( a) + a1 ( a) 0, "Yes", "No" = "Yes" da d if b0 ( b) + b1 ( b) 0, "Yes", "No" = "Yes" db Если хотя бы одно условие не выполняется (="No"), то задача поставлена не корректно.

Введите конечный момент времени, до которого необходимо провести исследование вашего варианта T := Получение точного решения Найдем точное решение U(x, t), используя разложение функции в ряд Фурье. Если ( x) = 0, ( x) = 0, g (x ) = 0, K2( x) = 0, K1( x) = c1 = const, то решение имеет вид U(x, M Ak cosk c1 t + Bk sin k c1 t sin k x t)=U0(x)+ b a ba ba k = Введите число слагаемых, обеспечивающих точность решения 0. M := Если a1=0, b1=0, то функцию U0(x) можно взять в виде b0 a2 b b2 a0 a ( b2 a0 b0 a2) x U0 ( x) := + a0 b0 ( b a) a0 b0 ( b a) x U0 ( x) 1 + Вычислим коэффициенты Ak, Bk i := 1.. M b i x ( f ( x) U0 ( x) ) sin dx A2i1 := ba ba a b i x ( x) sin dx B2i1 := i b a a Следовательно, точное решение U(x, t) имеет вид M k c1 t k c1 t k x A2k1 cos + B2k1 sin sin UT ( x,t ) := U0( x) + ba b a ba k = Выпишите матрицу U1 получившегося точного решения, разбив отрезок [a, b] на 10 частей при t=0, 0.1T,..., T и график точного решения.

График точного решения при t=T UT (x, T ) 0 x i := 0.. j := 0.. i j T U1i, j := UT a + ( b a), 10 Таблица точного решения при t=0, 0.1T,..., T 1 1 1 1 1 1 1 1 1 1 0.2116 0.22188 0.25155 0.30198 0.36439 0.42718 0.49004 0.55286 0.6157 0.67853 0. 0.37906 0.36922 0.33905 0.28923 0.21902 0.1293 0.01885 0.10567 0.2314 0.35704 0. 0.77267 0.76256 0.73268 0.68256 0.61268 0.52255 0.41269 0.28253 0.13274 0.03763 0. 0.96866 0.95875 0.92866 0.87875 0.80866 0.71875 0.60866 0.47875 0.32866 0.15875 0. U1 = 0.96745 0.95735 0.92745 0.87736 0.80745 0.71736 0.60744 0.47736 0.32744 0.15737 0. 0.76866 0.75875 0.72866 0.67875 0.60866 0.51875 0.40866 0.27875 0.12866 0.04125 0. 0.37267 0.36256 0.33268 0.28256 0.21268 0.12255 0.01269 0.11747 0.26726 0.43763 0. 0.22094 0.23078 0.26095 0.31077 0.38098 0.4707 0.58115 0.70567 0.8314 0.95704 1. 1.0116 1.02188 1.05155 1.10198 1.16439 1.22718 1.29004 1.35286 1.4157 1.47853 1. 2 2 2 2 2 2 2 2 2 2 Получение приближенного решения n Введите порядок пробного решения U n =V(0,x)+ V (k, x) H (k, t).

k = n := Возьмем пробные функции в следующем виде k V1( k, x) := ( x a) ( x b) Нормируем их. Для этого вычислим нормировочные коэффициенты и выпишем их аналитические выражения i := 1.. n b VV i1 := ( V1 ( i, x) ) d x a Получили нормированные пробные функции V1 ( k, x) b0 a2 b b2 a0 a ( b2 a0 b0 a2 ) x V ( k, x) := if k 0,, + a0 b0 ( b a) a0 b0 ( b a) VV k Выпишем первые функции x V ( 1, x) x ( x ) V ( 0, x) 1 + 7 V ( 3, x) 6 x ( x ) V ( 2, x) x ( x ) 3 9 2 55 V ( 4, x) 3 x ( x ) V ( 5, x) x ( x ) 4 11 2 Введем функции V1(k, x) и V2(k, x), равные первой и второй производной от функции V(k, x) k := 1.. n ( b2 a0 b0 a2) k k ( x a) + ( x b) k ( x a) k 0, V1( k, x) := if, a0 b0 ( b a) VV k k k 2 k ( x a) + ( x b) k ( k 1) ( x a) V2( k, x) := if k 0,, VV k В качестве поверочных функций возьмем пробные W ( k, x) := V ( k, x) Найдем коэффициенты системы дифференциальных уравнений dV dV A 2 = M + CV + B для отыскания функций Hk(t) и начальных условий dt dt AV (0) = D1, A d H ( 0) N1.

dt i := 1.. n j := 1.. n b A i1, j1 := V ( j, x) W ( i, x) d x a 1.000000 0.935414 0.828079 0.725361 0. 0.935414 1.000000 0.968246 0.904684 0. A= 0.828079 0.968246 1.000000 0.981071 0. 0.725361 0.904684 0.981071 1.000000 0. 0.636654 0.833750 0.939374 0.987421 1. i := 1.. n j := 1.. n b M i1, j 1 := ( x) V ( j, x) W ( i, x) d x a 0 0 0 0 M = 0 0 0 0 0 0 0 0 0 0 0 0 i := 1.. n j := 1.. n b K1 ( x) d2 V ( j, x) + K2( x) d V ( j, x) + ( x) V ( j, x) W ( i, x) d x Ci1, j 1 := dx dx a 1.013212 0.947773 0.880970 0.823137 0. 0.947773 1.418497 1.648144 1.759941 1. C= 0.880970 1.648144 2.188538 2.556084 2. 0.823137 1.759941 2.556084 3.184380 3. 0.774079 1.810211 2.804367 3.668377 4. i := 1.. n b K1( x) d2 V ( 0, x) + K2( x) d V ( 0, x) + ( x) V ( 0, x) + g( x) W ( i, x) d x Bi1 := dx dx a T B =( 0 0 0 0 0) i := 1.. n b D1i1 := ( f ( x) V ( 0, x) ) W ( i, x) d x a T D1 = ( 3.193847 2.98757 2.644756 2.31669 2.033376 ) i := 1.. n b N1i1 := ( x) W ( i, x) d x a T N1 = ( 0 0 0 0 0 ) d d Приведем систему к виду M1 H + C1 H + B1 с начальными H 2 dt dt d условиями H ( 0) D2, H ( 0) N2.



Pages:     | 1 | 2 || 4 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.