Введение Уроки  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  

Урок 16. Численные методы


    Урок 16. Численные методы
    Урок 16. Численные методы Элементарные средства решения СЛУ Функции для решения систем линейных уравнений с ограничениями Решение СЛУ с разреженными матрицами Точное решение, метод наименьших квад...
    Метод минимизации обобщенной невязки
    Метод минимизации обобщенной невязки Итерационный метод минимизации обобщенной невязки также реализован в системе MATLAB. Для этого используется функция gmres: gmres (А, В. restart) — возвращает р...
    Пример 1
    Пример 1 gmres(A.B) GMRES(4) converged at Iteration 1(4) to a solution with relative residual le-016 ans = 1.0000 2.0000 3.0000 4.0000...
    Квазиминимизация невязки — функция qmr
    Квазиминимизация невязки — функция qmr Метод решения СЛУ с квазиминимизацией невязки реализует функция qmr: qmr (А, В) — возвращает решение X СЛУ А*Х=Ь. Матрица А должна быть квадратной. Функция q...
    Пример 1
    Пример 1 qmr(A.B) QMR converged at iteration 4 to a solution with relative residual 1.1e-014 ans = 1.0000 2.0000 3 .0000 4.0000...
    Вычисление нулей функции одной переменной
    Вычисление нулей функции одной переменной Ряд функций системы MATLAB предназначен для работы с функциями. По аналогии с дескрипторами графических объектов могут использоваться объекты класса дескр...
    Примечание
    Примечание Подфункциями понимаются как встроенные функции, например sin(x) или ехр(х),так и функции пользователя, например f(x), задаваемые как т-файлы-функции. Численные значения таких функций, з...
    Пример 1
    Пример 1 fzero(fun,x,[ ],[ ],Р1). Для функции fzero ноль рассматривается как точка, где график функции fun пересекает ось х, а не касается ее. В зависимости от формы задания функции fzero реализую...
    Пример 2
    Пример 2 fsolve(@funl,0:10 ) ans = Columns 1 through 7 0.8905 0.8905 2.8500 2.8500 2.8500 5.8128 5.8128 Columns 8 through 11 5.8128 2.8500 2.8500 10.7429 Для решения систем нелинейных уравнений сл...
    Пример 3
    Пример 3 solve('0.25*x + sin(x) -1) [ Пакеты расширения Symbolic Math ToolBox и Extended Symbolic Math Toolbox MATLAB 6.0 используют ядро Maple V Release 5 [30-35] и являются поэтому исключением:...
    Минимизация функции одной переменной
    Минимизация функции одной переменной Еще одна важная задача численных методов — поиск минимума функции f(x) в некотором интервале изменения х — от х 1 до х 2 . Если нужно найти максимум такой функ...
    Пример 1
    Пример 1 options=optimset('tolX',1.е-10): [x]=fminbnd(@cos.3,4,options) х = 3.1416...
    Минимизация функции нескольких переменных
    Минимизация функции нескольких переменных Значительно сложнее задача минимизации функций нескольких переменных f(х 1 ,...). При этом значения переменных представляются вектором х, причем начальные...
    Аппроксимация Лапласиана
    Аппроксимация Лапласиана Для выполнения аппроксимации Лапласиана в MATLAB используется следующая функция: del 2(11) — возвращает матрицу L дискретной аппроксимации дифференциального оператора Лапл...
    Пример 1
    Пример 1 [х.у]= meshgrid(-5:5.-4:4); U =x.*x+y.*y U = 41 32 25 20 17 16 <...
    Рис. 16.1. Графики функций U и V
    Рис. 16.1. Графики функций U и V...
    Апроксимация производных конечными разностями
    Апроксимация производных конечными разностями diff(X) — возвращает конечные разности смежных элементов массива X. Если X — вектор, то diff(X) возвращает вектор разностей соседних элементов [Х(2)-Х...
    Приближенный график производной от функции sin(x)
    Приближенный график производной от функции sin(x)...
    Вычисление градиента функции
    Вычисление градиента функции Вычисление конечно-разностным методом градиента функций реализуется следующей функцией: FX = gradient(F) — возвращает градиент функции одной переменной, заданной векто...
    Пример 1
    Пример 1 F=[l 35795678] F = 135795678 FX = gradient(F) FX = Columns 1 through 7 2.0000 2.0000 2.0000 2.0000 -1.0000-1.50001.0000 Columns 8 through 9 1.0000 1.0000 F=[l 2 3 6 7 8:1 4 5 7 9 3;5 9 5...
    Численное интегрирование
    Численное интегрирование Численное интегрирование традиционно является одной из важнейших сфер применения математического аппарата. В данном разделе приводятся функции для численного интегрировани...
    Метод трапеций
    Метод трапеций Приведенные ниже функции выполняют численное интегрирование методом трапеций и методом трапеций с накоплением. trapz(Y) — возвращает определенный интеграл, используя интегрирование...
    Элементарные средства решения СЛУ
    Элементарные средства решения СЛУ Решение систем линейных уравнений (СЛУ) относится к самой массовой области применения матричных методов, описанных в уроках 10-12. В этом разделе вы найдете ответ...
    Численное интегрирование методом квадратур
    Численное интегрирование методом квадратур Приведенные ниже функции осуществляют интегрирование и двойное интегрирование, используя квадратурную формулу Симпсона или метод Гаусса-Лобатто. Квадрату...
    Пример 1
    Пример 1 пусть m-файл integl.m описывает функцию 2*y*sin(x)+x/2*cos(y), тогда вычислить двойной интеграл от той функции можно следующим образом: result = dblquad(@integl,pi,2*pi,0.2*pi) result = 7...
    Работа с полиномами
    Работа с полиномами Полиномы (у нас их принято называть также степенными многочленами) — широко известный объект математических вычислений и обработки данных. Обычно полином записывается в виде р(...
    Умножение и деление полиномов
    Умножение и деление полиномов Ниже приведены функции, осуществляющие умножение и деление полиномов, или, что то же самое, свертку двух входных векторов, в которых находятся коэффициенты полиномов,...
    Пример 1
    Пример 1 f=[2.3.5.6];d=[7,8,3]:r=conv(f,d) r = 14 37 65 91 63 18 [q,r] = deconv(v.u) —возвращает результат деления полинома v на полином и. Вектор q представляет собой частное от деления, а г — ос...
    Пример 2
    Пример 2 t=[14,37.65.91,63,18]:r=[7.8.3];[w.e]=deconv(t.r) w = 2.0000 3.0000 5.0000 6.0000 е = 1.0е-013 0 0 0.1421 -0.1421-0.2132-0.1066...
    Вычисление полиномов
    Вычисление полиномов В этом разделе приведены функции вычисления коэффициентов характеристического полинома, значения полинома в точке и матричного полинома. poly(A) — для квадратной матрицы А раз...
    Пример 1
    Пример 1 x=[7.45.12.23];d=roots(x) d = -6.2382 -0.0952+0.7195i -0.0952 -0.7195i А=[-6.2382 -0.0952+0.71951 -0.0952 -0.71951]: B=Poly (А) В=[1.0000 6.4286 1.7145 3.2859] В*7 ans = 7.0000 45.000212....
    Пример 2
    Пример 2 р=[3,0.4.3]; d=polyval(p,[2,6]) d = 35 675 polyvalm(p.X) — вычисляет значения полинома для матрицы. Это эквивалентно подстановке матрицы X в полином р. Полином р — вектор, чьи элементы яв...
    Пример 3
    Пример 3...
    Вычисление производной полинома
    Вычисление производной полинома Ниже приведена функция, возвращающая производную полинома р: polyder(p) — возвращает производную полинома р; polyder(a.b) — возвращает производную от произведения п...
    Решение полиномиальных матричных уравнений
    Решение полиномиальных матричных уравнений Приведенная ниже функция вычисляет собственные значения матричного полинома. [Х.е] = polyeig(AO,Al,...Ap) — решает задачу собственных значений для матрич...
    Пример 1
    Пример 1 А=[1:4:5:8:9:12:13:16] А = ...
    Разложение на простые дроби
    Разложение на простые дроби Для отношения полиномов b и а используются следующие функции: [r,p,k] = res I due (b, a) — возвращает вычеты, полюса и многочлен целой части отношения двух полиномов b(...
    Пример 1
    Пример 1 b=[4.3.1]:a=[1.3.7.1]:[r.p,k]=residue(b,a) r= 1.9484 + 0.80641 1.9484 - 0.80641 0.1033 Р = -1.4239 + 2.13051 -1.4239 - 2.13051 -0.1523 k = [ ] [bl,al]=residue(r,p,k) b1= 4.0000 3.0000 1.0...
    Решение обыкновенных дифференциальных уравнений
    Решение обыкновенных дифференциальных уравнений Анализ поведения многих систем и устройств в динамике, а также решение многих задач в теории колебаний и в поведении упругих: оболочек обычно базиру...
    Решатели ОДУ
    Решатели ОДУ Для решения систем ОДУ в MATLAB реализованы различные методы. Их реализации названы решателями ОДУ....
    Примечание
    Примечание В этом разделе обобщенное название sol ver (решатель) означает один из возможных численных методов решения ОДУ: ode45, ode23, ode113, ode15s, ode23s, ode23t , ode23tb, bvp4c или pdepe....
    Использование решателей систем ОДУ
    Использование решателей систем ОДУ В описанных далее функциях для решения систем дифференциальных уравнений приняты следующие обозначения и правила: options — аргумент, создаваемый функцией odeset...
    Пример 1
    Пример 1 [T.X.Y] - sim(@model....). Параметры интегрирования (options) могут быть определены и в m-файле, и в командной строке с помощью команды odeset. Если параметр определен в обоих местах, опр...
    Функции для решения систем линейных уравнений с ограничениями
    Функции для решения систем линейных уравнений с ограничениями Теперь рассмотрим функции, введенные для решения систем линейных уравнений с ограничениями методом наименьших квадратов: X =lscov(A,B....
    Пример 1
    Пример 1 С=[4 3:12 5:3 12];b=[1.45,41];D=lsqnonneg(C.b') D = 2.2242 2.6954...
    Описание системы ОДУ
    Описание системы ОДУ Можно использовать m-файл типа odefunction (или m-file типа odefile для совместимости с прежними версиями, но последний случай мы рассматривать не будем, чтобы определить сист...
    Дескрипторная поддержка параметров решателя
    Дескрипторная поддержка параметров решателя При помощи перечисленных ниже функций можно получить и создать или изменить параметры решателя: o=odeget(options, 'name') — извлекает значение свойства,...
    Пример 1
    Пример 1 options = odesetCRelTol' ,[le-6 le-7].'AbsTol' ,6е-3); odeget(options.'Rel') ans = l.0e-006* 1.0000 0.1000 odegetCoptions.'Abs') ans = 0.0060 options=odeset( 'namel' .valuel, 'name2' ,val...
    Пример 2
    Пример 2 oldopts F 1 [ ] 4 'S' 'S' [ ] [ ] [ ] newopts Т 3 F [] 'S' [] [] [] [] odeset(oldopts.newopts) Т 3 F . 4 ' ' 's' [ ] [ ] [ ] Функция odeset без параметров возвращает все имена свойств и и...
    Пример 3
    Пример 3 odeset AbsTol: [ positive scalar or vector {le-6} ] RelTol: [ positive scalar {le-3} ] NormControl: [ on | {off} ] OutputFcn: [ function ] OutputSel: [ vector of integers ] Refine: [ posi...
    Пакет Partial Differential Equations Toolbox
    Пакет Partial Differential Equations Toolbox Специалистов в области численных методов решения дифференциальных уравнений в частных производных несомненно заинтересует обширный пакет Partial Differ...
    Что нового мы узнали?
    Что нового мы узнали? В этом уроке мы научились: Решать системы линейных уравнений точными и приближенными методами. Решать системы линейных уравнений с разреженными матрицами. Вычислять нули функ...
    Решение СЛУ с разреженными матрицами
    Решение СЛУ с разреженными матрицами Решение СЛУ с разреженными матрицами — хотя и не единственная, но несомненно одна из основных сфер применения аппарата разреженных матриц, описанного в уроке 1...
    Точное решение, метод наименьших квадратов и сопряженных градиентов
    Точное решение, метод наименьших квадратов и сопряженных градиентов lsqr(A, В)—возвращает точное решение X СЛУ А*Х=В, если матрица последовательная, в противном случае — возвращает решение, получе...
    Пример 1
    Пример 1 А=[0 012; 1300; 0101; 1010]; В=[11; 7; 6; 4]; Введенные в этом примере матрица А и вектор В будут использованы и в других примерах данного раздела. В примере процесс итераций сходится на...
    Пример 2
    Пример 2 lsqr(A,B.1e-6.5) Isqr converged at iteration 5 to a solution with relative residual 1.9e-013 ans = 1.0000 2.0000 3.0000 4.0000...
    Двунаправленный метод сопряженных градиентов
    Двунаправленный метод сопряженных градиентов Решение СЛУ с разреженной матрицей возможно также известным двунаправленным методом сопряженных градиентов. Он реализован указанной ниже функцией. biсд...
    Пример 1
    Пример 1 bicg(A.B) BICG converged at iteration 4 to a solution with relative residual 2.3e-015 ans= 1.0000 2.0000 3.0000 4.0000 [X.flag] = bicg(A,X.tol ,maxit.Ml,M2,X0) — возвращает решение Х и фл...
    Устойчивый двунаправленный метод
    Устойчивый двунаправленный метод Еще один двунаправленный метод, называемый- устойчивым, реализует функция bicgstab: bicgstab(A.B) — возвращает решение X СЛУ А*Х=В. А — квадратная матрица. Функция...
    Пример 1
    Пример 1 bicgstab(A.B) BICGSTAB converged at iteration 3.5 to a solution with relative residual 6.5e-012 ans = 1.0000 2.0000 3.0000 4.0000...
    Метод сопряженных градиентов
    Метод сопряженных градиентов Итерационный метод сопряженных градиентов реализован функцией peg: О рсд(А.В) — возвращает решение X СЛУ А*Х=В. Матрица А должна быть квадратной, симметрической [ В на...
    Пример 1
    Пример 1 pcg(A.B) Warning: PCG stopped after the maximum 4 iterations without converging to the desired tolerance le-006 The iterate returned (number 4) has relative residual 0.46 In C:\MATI_AB\to...
    Квадратичный метод сопряженных градиентов
    Квадратичный метод сопряженных градиентов Квадратичный метод сопряженных градиентов реализуется в системе MATLAB с помощью функции cgs: cgs(A.B) — возвращает решение X СЛУ А*Х=В. А — квадратная ма...
    Пример 1
    Пример 1 cgs(A.B) CGS converged at iteration 4 to a solution with relative residual 4e-014 ans = 1.0000 2.0000 3.0000 4.0000...


- Начало -