🗊Презентация Вычисления в MATLAB

Категория: Математика
Нажмите для полного просмотра!
Вычисления в MATLAB, слайд №1Вычисления в MATLAB, слайд №2Вычисления в MATLAB, слайд №3Вычисления в MATLAB, слайд №4Вычисления в MATLAB, слайд №5Вычисления в MATLAB, слайд №6Вычисления в MATLAB, слайд №7Вычисления в MATLAB, слайд №8Вычисления в MATLAB, слайд №9Вычисления в MATLAB, слайд №10Вычисления в MATLAB, слайд №11Вычисления в MATLAB, слайд №12Вычисления в MATLAB, слайд №13Вычисления в MATLAB, слайд №14Вычисления в MATLAB, слайд №15Вычисления в MATLAB, слайд №16Вычисления в MATLAB, слайд №17Вычисления в MATLAB, слайд №18Вычисления в MATLAB, слайд №19Вычисления в MATLAB, слайд №20Вычисления в MATLAB, слайд №21Вычисления в MATLAB, слайд №22Вычисления в MATLAB, слайд №23Вычисления в MATLAB, слайд №24Вычисления в MATLAB, слайд №25Вычисления в MATLAB, слайд №26Вычисления в MATLAB, слайд №27Вычисления в MATLAB, слайд №28Вычисления в MATLAB, слайд №29Вычисления в MATLAB, слайд №30Вычисления в MATLAB, слайд №31Вычисления в MATLAB, слайд №32Вычисления в MATLAB, слайд №33Вычисления в MATLAB, слайд №34Вычисления в MATLAB, слайд №35Вычисления в MATLAB, слайд №36Вычисления в MATLAB, слайд №37Вычисления в MATLAB, слайд №38Вычисления в MATLAB, слайд №39Вычисления в MATLAB, слайд №40Вычисления в MATLAB, слайд №41Вычисления в MATLAB, слайд №42Вычисления в MATLAB, слайд №43Вычисления в MATLAB, слайд №44Вычисления в MATLAB, слайд №45Вычисления в MATLAB, слайд №46Вычисления в MATLAB, слайд №47Вычисления в MATLAB, слайд №48Вычисления в MATLAB, слайд №49Вычисления в MATLAB, слайд №50Вычисления в MATLAB, слайд №51Вычисления в MATLAB, слайд №52Вычисления в MATLAB, слайд №53Вычисления в MATLAB, слайд №54Вычисления в MATLAB, слайд №55Вычисления в MATLAB, слайд №56Вычисления в MATLAB, слайд №57Вычисления в MATLAB, слайд №58Вычисления в MATLAB, слайд №59Вычисления в MATLAB, слайд №60Вычисления в MATLAB, слайд №61Вычисления в MATLAB, слайд №62Вычисления в MATLAB, слайд №63Вычисления в MATLAB, слайд №64Вычисления в MATLAB, слайд №65Вычисления в MATLAB, слайд №66

Содержание

Вы можете ознакомиться и скачать презентацию на тему Вычисления в MATLAB. Доклад-сообщение содержит 66 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ВЫЧИСЛЕНИЯ 
В  MATLAB
Описание слайда:
ВЫЧИСЛЕНИЯ В MATLAB

Слайд 2






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

Слайд 3





Решение произвольных уравнений

   Функция
x=fzero('myf', xo)
   позволяет вычислять приближенное значение корня x уравнения 					myf(x)=0,                          (1)
	с начальным приближением к корню xo.
Здесь myf – имя файл - функции вычисляющей левую часть уравнения.
Описание слайда:
Решение произвольных уравнений Функция x=fzero('myf', xo) позволяет вычислять приближенное значение корня x уравнения myf(x)=0, (1) с начальным приближением к корню xo. Здесь myf – имя файл - функции вычисляющей левую часть уравнения.

Слайд 4





       Перед нахождением корней полезно строить график функции входящей в левую часть уравнения, используя plot, но все равно в подобных задачах удобно (нужно) создать М-файл левой части уравнений (то же касается и правых частей дифференциальных уравнений). 
       Перед нахождением корней полезно строить график функции входящей в левую часть уравнения, используя plot, но все равно в подобных задачах удобно (нужно) создать М-файл левой части уравнений (то же касается и правых частей дифференциальных уравнений). 
В этом случае можно воспользоваться функцией 
  				 fplot('myf', [x1,x2])
Описание слайда:
Перед нахождением корней полезно строить график функции входящей в левую часть уравнения, используя plot, но все равно в подобных задачах удобно (нужно) создать М-файл левой части уравнений (то же касается и правых частей дифференциальных уравнений). Перед нахождением корней полезно строить график функции входящей в левую часть уравнения, используя plot, но все равно в подобных задачах удобно (нужно) создать М-файл левой части уравнений (то же касается и правых частей дифференциальных уравнений). В этом случае можно воспользоваться функцией fplot('myf', [x1,x2])

Слайд 5





 Пример 1 
 Пример 1 
Найти корни уравнения sin x-x2 cos x=0 на  [-5,5]. 
Решение
Описание слайда:
Пример 1 Пример 1 Найти корни уравнения sin x-x2 cos x=0 на [-5,5]. Решение

Слайд 6





Аналогично находятся еще два корня, около -2 и 5. Увидеть, большее число значащих цифр приближенного решения можно задав значение формата, например  
Аналогично находятся еще два корня, около -2 и 5. Увидеть, большее число значащих цифр приближенного решения можно задав значение формата, например  
format long.
Заметим, что точность вычисления не зависит от формата вывода результата и не меньше eps: 
2.220…..E-016 или ±2*10-16.
Описание слайда:
Аналогично находятся еще два корня, около -2 и 5. Увидеть, большее число значащих цифр приближенного решения можно задав значение формата, например Аналогично находятся еще два корня, около -2 и 5. Увидеть, большее число значащих цифр приближенного решения можно задав значение формата, например format long. Заметим, что точность вычисления не зависит от формата вывода результата и не меньше eps: 2.220…..E-016 или ±2*10-16.

Слайд 7





 Замечание
 Замечание
   Важной особенностью fzero является то, что она вычисляет только те корни, в которых функция меняет знак, а не касается оси абсцисс. Это происходит в связи с тем, что заложен метод деления отрезка пополам. 
 



Рис.1 Метод деления отрезка пополам
Описание слайда:
Замечание Замечание Важной особенностью fzero является то, что она вычисляет только те корни, в которых функция меняет знак, а не касается оси абсцисс. Это происходит в связи с тем, что заложен метод деления отрезка пополам. Рис.1 Метод деления отрезка пополам

Слайд 8






Например, корень уравнения х2=0 функцией  fzero найти не удается.
 Для нахождения корня х на интервале   [a, b] уравнения (1) и значения функции myf в этом корне можно использовать следующий вид функции fzero: 
[x, f]= fzero (' myf', [a, b])
Описание слайда:
Например, корень уравнения х2=0 функцией fzero найти не удается. Для нахождения корня х на интервале [a, b] уравнения (1) и значения функции myf в этом корне можно использовать следующий вид функции fzero: [x, f]= fzero (' myf', [a, b])

Слайд 9





 Пример 2
 Пример 2
> fzero('sin', [2,4])
   ans = 
          3.1415…
Описание слайда:
Пример 2 Пример 2 > fzero('sin', [2,4]) ans = 3.1415…

Слайд 10





Замечание 
Замечание 
   1. Если функция имеет несколько нулей, то выдается ближайший к 0;
   2. На границе интервал [a,b] функция должна принимать значения разных знаков, иначе будет сообщение об ошибке NaN.
Описание слайда:
Замечание Замечание 1. Если функция имеет несколько нулей, то выдается ближайший к 0; 2. На границе интервал [a,b] функция должна принимать значения разных знаков, иначе будет сообщение об ошибке NaN.

Слайд 11





Минимизация функций 
      
Для поиска локального минимума функции myf одной переменной на отрезке    [a, b]  используют
x= fminbnd ('myf', a, b)
[x, f]= fminbnd (' myf', a, b)
Описание слайда:
Минимизация функций Для поиска локального минимума функции myf одной переменной на отрезке [a, b] используют x= fminbnd ('myf', a, b) [x, f]= fminbnd (' myf', a, b)

Слайд 12





       Замечание
       Замечание
1) Для нахождения локального максимума нет специальной функции и поэтому следует искать минимум функции с обратным знаком (менять знак нужно в М-функции);
2)  Если есть несколько локальных min, то находиться тот, который ближе к 0.
Описание слайда:
Замечание Замечание 1) Для нахождения локального максимума нет специальной функции и поэтому следует искать минимум функции с обратным знаком (менять знак нужно в М-функции); 2) Если есть несколько локальных min, то находиться тот, который ближе к 0.

Слайд 13





Для нахождения локального минимума функции myfm многих переменных вблизи точки (х1,…,хn) используют 
Для нахождения локального минимума функции myfm многих переменных вблизи точки (х1,…,хn) используют 
M=fminsearch('myfm',[x1,x2,…,xn]);
[M, f]= fminsearch('myfm',[x1,x2,…,xn]).
    Здесь М=[                ] – вектор-строка, а f – значение.
Описание слайда:
Для нахождения локального минимума функции myfm многих переменных вблизи точки (х1,…,хn) используют Для нахождения локального минимума функции myfm многих переменных вблизи точки (х1,…,хn) используют M=fminsearch('myfm',[x1,x2,…,xn]); [M, f]= fminsearch('myfm',[x1,x2,…,xn]). Здесь М=[ ] – вектор-строка, а f – значение.

Слайд 14





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

Слайд 15





 Замечание
 Замечание
Для нахождения начального значения (x1,x2,…,xn), нужно получить представление о поведении функции, например, построив линии уровня на плоскости с помощью функции 
contour.
Описание слайда:
Замечание Замечание Для нахождения начального значения (x1,x2,…,xn), нужно получить представление о поведении функции, например, построив линии уровня на плоскости с помощью функции contour.

Слайд 16





Задание дополнительных параметров

 Функции 
			fzero, fminbnd и fminsearch 
позволяют задать дополнительный параметр options, контролирующий вычислительный процесс:
 options = optimset(…, вид контроля, значение,…)
Описание слайда:
Задание дополнительных параметров Функции fzero, fminbnd и fminsearch позволяют задать дополнительный параметр options, контролирующий вычислительный процесс: options = optimset(…, вид контроля, значение,…)

Слайд 17





Таблица 1  Значения дополнительных параметров
Описание слайда:
Таблица 1 Значения дополнительных параметров

Слайд 18


Вычисления в MATLAB, слайд №18
Описание слайда:

Слайд 19





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

Слайд 20





    Пример 3
    Пример 3
     Найти минимум функции 
			f(x, y)= sin(πx)*sin(πy) 
вблизи точки [1.4, 0.6] с точностью по функции до 1.0е-09 и выводом итераций.
Описание слайда:
Пример 3 Пример 3 Найти минимум функции f(x, y)= sin(πx)*sin(πy) вблизи точки [1.4, 0.6] с точностью по функции до 1.0е-09 и выводом итераций.

Слайд 21





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

Слайд 22





Интегрирование функций 


Методы интегрирования

     Для вычисления определенного интеграла используются следующие функции:
Описание слайда:
Интегрирование функций Методы интегрирования Для вычисления определенного интеграла используются следующие функции:

Слайд 23





1.    quad('fint',a,b, Точность) 
1.    quad('fint',a,b, Точность) 
    Алгоритм основан на квадратурной формуле Симпсона с автоматическим подбором шага интегрирования для достижения нужной точности:
                                                    , 
где       ,   k =           равностоящие точки на [a,b].
Описание слайда:
1. quad('fint',a,b, Точность) 1. quad('fint',a,b, Точность) Алгоритм основан на квадратурной формуле Симпсона с автоматическим подбором шага интегрирования для достижения нужной точности: , где , k = равностоящие точки на [a,b].

Слайд 24





2.   quad8('fint',a,b, Точность) 
2.   quad8('fint',a,b, Точность) 
    Используется для достаточно гладких функции и алгоритм основан на более точных квадратурных формулах Ньютона-Котеса. 
Он требует меньше вычислений с той же точностью
Описание слайда:
2. quad8('fint',a,b, Точность) 2. quad8('fint',a,b, Точность) Используется для достаточно гладких функции и алгоритм основан на более точных квадратурных формулах Ньютона-Котеса. Он требует меньше вычислений с той же точностью

Слайд 25





quadl('fint',a,b, Точность) 
quadl('fint',a,b, Точность) 
Применяется для функций с интегрируемыми особенностями (например:       в нуле). 
Алгоритм основан на квадратурных формулах Гаусса-Лобатто (Корни ортогонального многочлена Якоби).
    
Для вычисления двойного интеграла используется функция
dblquad('fint', xmin, xmax, ymin, ymax, Точность, 'Алгоритм'), 
где Алгоритм – это название любого из перечисленных трех алгоритмов quad, quad8, quadl.
Описание слайда:
quadl('fint',a,b, Точность) quadl('fint',a,b, Точность) Применяется для функций с интегрируемыми особенностями (например: в нуле). Алгоритм основан на квадратурных формулах Гаусса-Лобатто (Корни ортогонального многочлена Якоби). Для вычисления двойного интеграла используется функция dblquad('fint', xmin, xmax, ymin, ymax, Точность, 'Алгоритм'), где Алгоритм – это название любого из перечисленных трех алгоритмов quad, quad8, quadl.

Слайд 26





Пример 4
Пример 4
     Вычислить                                                        
по quad8 с точностью 10-12.
 Решение
Описание слайда:
Пример 4 Пример 4 Вычислить по quad8 с точностью 10-12. Решение

Слайд 27






Вычисление интегралов зависящих от параметров

Пример 5
     Вычислить интеграл                              
при значениях параметров р1=0.6, р2=0.7 по квадратурным формулам Ньютона-Котеса с автоматическим выбором шага с точностью до 10-5.
Описание слайда:
Вычисление интегралов зависящих от параметров Пример 5 Вычислить интеграл при значениях параметров р1=0.6, р2=0.7 по квадратурным формулам Ньютона-Котеса с автоматическим выбором шага с точностью до 10-5.

Слайд 28





Решение
Решение
Описание слайда:
Решение Решение

Слайд 29






Интегралы с переменным верхним пределом

Пример 6
Вычислить интеграл                                   
с точностью 10-6.
Описание слайда:
Интегралы с переменным верхним пределом Пример 6 Вычислить интеграл с точностью 10-6.

Слайд 30





Решение
Решение
Описание слайда:
Решение Решение

Слайд 31





Численное решение дифференциальных уравнений 
 Задача Коши для дифференциального уравнения произвольного порядка имеет вид:
Описание слайда:
Численное решение дифференциальных уравнений Задача Коши для дифференциального уравнения произвольного порядка имеет вид:

Слайд 32





 Схема решения в MATLAB состоит из следующих этапов:
 Схема решения в MATLAB состоит из следующих этапов:
 1. Приведение дифференциального уравнения к системе дифференциального уравнений первого порядка;
 2. Написание специальной файл - функции для системы уравнений;
 3. Вызов подходящего солвер (решателя);
 4. Визуализация результата.
Описание слайда:
Схема решения в MATLAB состоит из следующих этапов: Схема решения в MATLAB состоит из следующих этапов: 1. Приведение дифференциального уравнения к системе дифференциального уравнений первого порядка; 2. Написание специальной файл - функции для системы уравнений; 3. Вызов подходящего солвер (решателя); 4. Визуализация результата.

Слайд 33





Пример 7
Пример 7
   
Задача о колебаниях под воздействием внешней силы в среде, оказывающей сопротивление колебаниям:
y''+2y'+10y=sin t   -  уравнение, описывающее движение.
y(0)=1    – кордита точки в начальный момент времени.
y'(0)=0                   – начальная скорость.
    
Первый этап.
 Для приведения задачи к системе дифференциальных уравнений вводим вспомогательные функции 
					y1=y, y2=y'.
Описание слайда:
Пример 7 Пример 7 Задача о колебаниях под воздействием внешней силы в среде, оказывающей сопротивление колебаниям: y''+2y'+10y=sin t  - уравнение, описывающее движение. y(0)=1 – кордита точки в начальный момент времени. y'(0)=0 – начальная скорость. Первый этап. Для приведения задачи к системе дифференциальных уравнений вводим вспомогательные функции y1=y, y2=y'.

Слайд 34






   Тогда система дифференциальных уравнений с начальными условиями принимает вид:
Описание слайда:
Тогда система дифференциальных уравнений с начальными условиями принимает вид:

Слайд 35





Второй этап состоит в написании файл-функции имеющей два входных аргумента: переменную t  и вектор, размер которого равен числу неизвестных функций системы. 
Второй этап состоит в написании файл-функции имеющей два входных аргумента: переменную t  и вектор, размер которого равен числу неизвестных функций системы. 
Число и порядок аргументов фиксированы, даже если t явно не входит в систему.
 Выходным аргументом файл-функции является вектор правой части системы.
    Итак, 
      function F=oscil(t,y)
      F=[y(2); -2*y(2)-10*y(1)+sin(t)];
Описание слайда:
Второй этап состоит в написании файл-функции имеющей два входных аргумента: переменную t и вектор, размер которого равен числу неизвестных функций системы. Второй этап состоит в написании файл-функции имеющей два входных аргумента: переменную t и вектор, размер которого равен числу неизвестных функций системы. Число и порядок аргументов фиксированы, даже если t явно не входит в систему. Выходным аргументом файл-функции является вектор правой части системы. Итак, function F=oscil(t,y) F=[y(2); -2*y(2)-10*y(1)+sin(t)];

Слайд 36







Третий шаг.
Этот шаг состоит в решении задачи при помощи решателя или солвера (об их видах поговорим позже).     Например, при помощи солвера 
ode45.
Описание слайда:
Третий шаг. Этот шаг состоит в решении задачи при помощи решателя или солвера (об их видах поговорим позже). Например, при помощи солвера ode45.

Слайд 37





Входными аргументами солверов являются:
Входными аргументами солверов являются:
Имя файл-функции в апострофах;
2. Вектор-строка с начальным и конечным значением времени наблюдения (например, [0, t0], где t0 произвольное число);
3. Вектор-столбец начальных условий (1).
Описание слайда:
Входными аргументами солверов являются: Входными аргументами солверов являются: Имя файл-функции в апострофах; 2. Вектор-строка с начальным и конечным значением времени наблюдения (например, [0, t0], где t0 произвольное число); 3. Вектор-столбец начальных условий (1).

Слайд 38





Выходных аргументов два:
Выходных аргументов два:
Вектор Т содержащий значение времени;
2. Матрица значений Y неизвестных функций в соответствующие моменты времени. 
В первом столбце - значения первой функции, во второй и т. д.
В нашем случае: Y(:, 1) – значение функции y1,
                              Y(:, 2) – значение функции y2.
Как правило, размеры матрицы Y и вектора Т достаточно велики, поэтому лучше сразу отобразить результат на графике.
Описание слайда:
Выходных аргументов два: Выходных аргументов два: Вектор Т содержащий значение времени; 2. Матрица значений Y неизвестных функций в соответствующие моменты времени. В первом столбце - значения первой функции, во второй и т. д. В нашем случае: Y(:, 1) – значение функции y1, Y(:, 2) – значение функции y2. Как правило, размеры матрицы Y и вектора Т достаточно велики, поэтому лучше сразу отобразить результат на графике.

Слайд 39





Итак, файл программа для  0≤ t≤ 15  имеет вид.
Итак, файл программа для  0≤ t≤ 15  имеет вид.
Y0= [1; 0];
  [T, Y]=ode45('oscil', [0 15], Y0);
plot(T, Y(:, 1), 'r')                 - график решения
hold on
plot (T, Y (:, 2), 'k--')              - график производной
title ('Решение {\ it y}\prime\prime+2 {\it y}\ prime+10{\it y} = sin {\it y}')
xlabel ('\it t')
ylabel ('{\it y}, {\it y}\prime')
legend('координата', 'скорость', 4) – Легенда в нижний правый угол.
grid on   - сетка 
hold off
Описание слайда:
Итак, файл программа для 0≤ t≤ 15 имеет вид. Итак, файл программа для 0≤ t≤ 15 имеет вид. Y0= [1; 0]; [T, Y]=ode45('oscil', [0 15], Y0); plot(T, Y(:, 1), 'r') - график решения hold on plot (T, Y (:, 2), 'k--') - график производной title ('Решение {\ it y}\prime\prime+2 {\it y}\ prime+10{\it y} = sin {\it y}') xlabel ('\it t') ylabel ('{\it y}, {\it y}\prime') legend('координата', 'скорость', 4) – Легенда в нижний правый угол. grid on - сетка hold off

Слайд 40







Рис.2 Решение дифференциального уравнения
Описание слайда:
Рис.2 Решение дифференциального уравнения

Слайд 41





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

Слайд 42





Жесткие дифференциальные системы 
Решение уравнений Лотка-Вольтерра

Во многих приложениях встречаются так называемые «жесткие» системы дифференциальных уравнений. 
Строго общепринятого определение жестокости пока не существует, и под жесткими системами обычно понимают те системы, которые плохо решаются «стандартными» численными методами. 
В них часто встречается существенная разница  по модулю между корнями λ характеристического уравнения.
Описание слайда:
Жесткие дифференциальные системы Решение уравнений Лотка-Вольтерра Во многих приложениях встречаются так называемые «жесткие» системы дифференциальных уравнений. Строго общепринятого определение жестокости пока не существует, и под жесткими системами обычно понимают те системы, которые плохо решаются «стандартными» численными методами. В них часто встречается существенная разница по модулю между корнями λ характеристического уравнения.

Слайд 43





 Например 
 Например 
                       , причем, λ1, λ2>0 и             >>1.
 Число s называют коэффициентом жесткости системы.
   Решение имеет вид:
Описание слайда:
Например Например , причем, λ1, λ2>0 и >>1. Число s называют коэффициентом жесткости системы. Решение имеет вид:

Слайд 44





Отметим, что жесткость – это качество дифференциальной системы, а не разностного метода (обычно нелинейные системы). 
Отметим, что жесткость – это качество дифференциальной системы, а не разностного метода (обычно нелинейные системы). 
В качестве примера жесткой системы возьмем модель Лотка-Вольтерра борьбы за существование.
Обозначим
   y1(t) – число жертв 
   y2(t) – число хищников
Описание слайда:
Отметим, что жесткость – это качество дифференциальной системы, а не разностного метода (обычно нелинейные системы). Отметим, что жесткость – это качество дифференциальной системы, а не разностного метода (обычно нелинейные системы). В качестве примера жесткой системы возьмем модель Лотка-Вольтерра борьбы за существование. Обозначим y1(t) – число жертв y2(t) – число хищников

Слайд 45





Число хищников и жертв в течение времени t изменяется по закону
Число хищников и жертв в течение времени t изменяется по закону
                                                               		(2)
где P – увеличение числа жертв в отсутствие хищников
       R – уменьшение числа хищников в отсутствие жертв.
Вероятность поедание хищником жертвы пропорциональна их числу  y1y2,  при этом
		- py1y2 – соответствует вымиранию жертв;
		ry1y2 – появлению хищников.
Описание слайда:
Число хищников и жертв в течение времени t изменяется по закону Число хищников и жертв в течение времени t изменяется по закону (2) где P – увеличение числа жертв в отсутствие хищников R – уменьшение числа хищников в отсутствие жертв. Вероятность поедание хищником жертвы пропорциональна их числу y1y2, при этом - py1y2 – соответствует вымиранию жертв; ry1y2 – появлению хищников.

Слайд 46






Решением системы (2) является замкнутая кривая.
 Возьмем для примера
  P=3, R=2, p=r=1
    y1(0)=3 – в начальный момент 3 жертвы.
    y2(0)=4 – в начальный момент 4 хищника.
     t≤100
Решая эту систему солверами ode45 и ode23s, получаем:
Описание слайда:
Решением системы (2) является замкнутая кривая. Возьмем для примера P=3, R=2, p=r=1 y1(0)=3 – в начальный момент 3 жертвы. y2(0)=4 – в начальный момент 4 хищника. t≤100 Решая эту систему солверами ode45 и ode23s, получаем:

Слайд 47





Рис.3 Решения солверами ode45 и ode23s
Рис.3 Решения солверами ode45 и ode23s
Описание слайда:
Рис.3 Решения солверами ode45 и ode23s Рис.3 Решения солверами ode45 и ode23s

Слайд 48






Вычисление, по умолчанию, в ode45 и ode23s происходит при одной точности, а приближенные решения сильно отличаются друг от друга, причем ode23s намного точнее. 
   
Более того,   для уравнения  Ван-дер-Поля  с    большим значением параметра   α: 
					y''=α(1-y2)y'-y
солвер ode45 не может найти значения (см. справку по MATLAB).
Описание слайда:
Вычисление, по умолчанию, в ode45 и ode23s происходит при одной точности, а приближенные решения сильно отличаются друг от друга, причем ode23s намного точнее. Более того, для уравнения Ван-дер-Поля с большим значением параметра α: y''=α(1-y2)y'-y солвер ode45 не может найти значения (см. справку по MATLAB).

Слайд 49






Управление процессом решения

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

Слайд 50





       
       
Стратегия применения солверов MATLAB 
(см. справку по MATLAB).
ode45 – дает хорошие результаты и основан на методе Рунге-Кутта четвертого и пятого порядков точности;
Описание слайда:
Стратегия применения солверов MATLAB (см. справку по MATLAB). ode45 – дает хорошие результаты и основан на методе Рунге-Кутта четвертого и пятого порядков точности;

Слайд 51






ode23 – используется в задачах содержащих небольшую жесткость, когда требуется получить решение с невысокой степенью точности. Формулы Рунге-Кутта 2 и 3 порядка точности; 
ode113 – эффективен для нежестких систем дифференциальных уравнений, правые части которых вычисляются по сложным формулам, и решение выдается с высокой точностью. Метод переменного порядка Адамса-Бэшфорта-Милтона.
Описание слайда:
ode23 – используется в задачах содержащих небольшую жесткость, когда требуется получить решение с невысокой степенью точности. Формулы Рунге-Кутта 2 и 3 порядка точности; ode113 – эффективен для нежестких систем дифференциальных уравнений, правые части которых вычисляются по сложным формулам, и решение выдается с высокой точностью. Метод переменного порядка Адамса-Бэшфорта-Милтона.

Слайд 52





Если все попытки применения этих солверов не приводят к успеху, то возможно решаемая система является жесткой и можно применить:
Если все попытки применения этих солверов не приводят к успеху, то возможно решаемая система является жесткой и можно применить:
ode15s – многошаговый метод Гира, допускающий изменения порядка;
ode23s – для решения жестких систем с невысокой точностью. Реализуется одношаговый метод Розенброка второго порядка.
Описание слайда:
Если все попытки применения этих солверов не приводят к успеху, то возможно решаемая система является жесткой и можно применить: Если все попытки применения этих солверов не приводят к успеху, то возможно решаемая система является жесткой и можно применить: ode15s – многошаговый метод Гира, допускающий изменения порядка; ode23s – для решения жестких систем с невысокой точностью. Реализуется одношаговый метод Розенброка второго порядка.

Слайд 53





Все солверы пытаются найти решение с относительной точностью 10-3.
Все солверы пытаются найти решение с относительной точностью 10-3.
Для задания другой точности используются дополнительный параметр 
options = odeset(…, вид контроля, значение, …)
Его использование аналогично использованию optimset. 
Полный список параметров можно найти в справочной системе MATLAB.
Описание слайда:
Все солверы пытаются найти решение с относительной точностью 10-3. Все солверы пытаются найти решение с относительной точностью 10-3. Для задания другой точности используются дополнительный параметр options = odeset(…, вид контроля, значение, …) Его использование аналогично использованию optimset. Полный список параметров можно найти в справочной системе MATLAB.

Слайд 54


Вычисления в MATLAB, слайд №54
Описание слайда:

Слайд 55





Точное решение нашей системы будет 
Точное решение нашей системы будет 
Если воспользуемся ode45, то для 10-3 получим
Описание слайда:
Точное решение нашей системы будет Точное решение нашей системы будет Если воспользуемся ode45, то для 10-3 получим

Слайд 56


Вычисления в MATLAB, слайд №56
Описание слайда:

Слайд 57





Замечание
Замечание
  Существует отдельный пакет для уравнений в частных производных Partial Diffential Equation ToolBOX.
Описание слайда:
Замечание Замечание Существует отдельный пакет для уравнений в частных производных Partial Diffential Equation ToolBOX.

Слайд 58





Решение граничных задач 
Рассмотрим граничную задачу общего вида для обыкновенного дифференциального уравнения второго порядка:
    
где                        - заданные числа
Описание слайда:
Решение граничных задач Рассмотрим граничную задачу общего вида для обыкновенного дифференциального уравнения второго порядка: где - заданные числа

Слайд 59





Решение задачи состоит из следующих этапов:
Решение задачи состоит из следующих этапов:
1. Преобразование дифференциального уравнения второго порядка к системе двух уравнений первого порядка;
2. Написание файл-функции для вычисления правой части системы;
3. Написание файл-функции, определяющей граничные условия;
4. Формирование начального приближения при помощи специальной функции bvpinit;
5. Вызов солвера bvp4c для решения граничной задачи;
6. Визуализация результата.
Описание слайда:
Решение задачи состоит из следующих этапов: Решение задачи состоит из следующих этапов: 1. Преобразование дифференциального уравнения второго порядка к системе двух уравнений первого порядка; 2. Написание файл-функции для вычисления правой части системы; 3. Написание файл-функции, определяющей граничные условия; 4. Формирование начального приближения при помощи специальной функции bvpinit; 5. Вызов солвера bvp4c для решения граничной задачи; 6. Визуализация результата.

Слайд 60






Первые два этапа выполняются практически так же, как и при решении задачи Коши. 
Для выполнения 3-го пункта граничные условия приводим к виду:
Описание слайда:
Первые два этапа выполняются практически так же, как и при решении задачи Коши. Для выполнения 3-го пункта граничные условия приводим к виду:

Слайд 61





Файл-функция описывающая граничные условия должна зависеть от двух аргументов – векторов ya, yb и иметь структуру:
Файл-функция описывающая граничные условия должна зависеть от двух аргументов – векторов ya, yb и иметь структуру:
	    function g=boun (ya, yb) 
	g= [alpha*ya (1) +beta*ya (2)-А; gamma*yb (1) +delta*yb (2)-B];
Здесь вместо alpha, beta, А, gamma, delta, В следует подставить заданные числа.
Описание слайда:
Файл-функция описывающая граничные условия должна зависеть от двух аргументов – векторов ya, yb и иметь структуру: Файл-функция описывающая граничные условия должна зависеть от двух аргументов – векторов ya, yb и иметь структуру: function g=boun (ya, yb) g= [alpha*ya (1) +beta*ya (2)-А; gamma*yb (1) +delta*yb (2)-B]; Здесь вместо alpha, beta, А, gamma, delta, В следует подставить заданные числа.

Слайд 62






Выбор начального приближения может оказать влияние на решение солвером bvp4c.
 MATLAB находит приближенное решение граничных задач методом конечных разностей, то есть получающиеся решение есть вектор значений неизвестных функций в точках отрезка [a,b] (в узлах сетки). 
Вызов bvpinit выглядит так
   initsol=bvpinit(вектор сетки на [a, b], вектор постоянных значений функций  y1 и y2)
Описание слайда:
Выбор начального приближения может оказать влияние на решение солвером bvp4c. MATLAB находит приближенное решение граничных задач методом конечных разностей, то есть получающиеся решение есть вектор значений неизвестных функций в точках отрезка [a,b] (в узлах сетки). Вызов bvpinit выглядит так initsol=bvpinit(вектор сетки на [a, b], вектор постоянных значений функций y1 и y2)

Слайд 63







Пример 8
    Пусть [a, b]= [0, 2*pi]  и начальное приближение 
				y1=1, y2=0, 
тогда 
initsol=bvpinit ([0: pi/10:2*pi], [1 0]);
Описание слайда:
Пример 8 Пусть [a, b]= [0, 2*pi] и начальное приближение y1=1, y2=0, тогда initsol=bvpinit ([0: pi/10:2*pi], [1 0]);

Слайд 64








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

Слайд 65






Следующим этапом мы должны вызвать солвер:
sol=bvp4c('Функция правой части', 'bound', initsol); 
где структура sol имеет поля x, y, причем 
sol.x – координаты сетки полученной и возможно исправленной;
sol.y(1, :) – соответствует значениям функции y1 в точках сетки sol.x;
sol.y(2, :) – соответствует значениям функции y2 в точках сетки sol.x;
Описание слайда:
Следующим этапом мы должны вызвать солвер: sol=bvp4c('Функция правой части', 'bound', initsol); где структура sol имеет поля x, y, причем sol.x – координаты сетки полученной и возможно исправленной; sol.y(1, :) – соответствует значениям функции y1 в точках сетки sol.x; sol.y(2, :) – соответствует значениям функции y2 в точках сетки sol.x;

Слайд 66






Другими словами sol.x~T, sol.y~Y.
Визуализация результата происходит аналогично задаче Коши.
Описание слайда:
Другими словами sol.x~T, sol.y~Y. Визуализация результата происходит аналогично задаче Коши.



Похожие презентации
Mypresentation.ru
Загрузить презентацию