- •15. Определение одномерных и многомерных массивов. Специальные матричные функции.
- •16. Определение одномерных и многомерных массивов. Решение слау. Символьные массивы и операции над ними.
- •17. Численное интегрирование. Подходы к интегрированию. Интегрирование функций, заданных пользователем.
- •Integrate(fun, X, a, b, [,er1 [,er2]]),
- •18. Численное дифференцирование. Подходы к дифференцированию. Нахождение частной производной функции.
- •19. Решение оду средствами системы SciLab. Функции, применяемые для решения оду и их параметры. Решение краевых задач.
- •20. Решение систем оду средствами системы SciLab. Особенности решения жестких дифференциальных задач.
- •21. Построение двумерных графиков в системе SciLab. Основные функции и типы графиков.
- •Plot(X,y,[xcap,ycap,caption])
- •Построение графиков функций, заданных в параметрической форме
17. Численное интегрирование. Подходы к интегрированию. Интегрирование функций, заданных пользователем.
Интегрирование по методу трапеций
Реализовано с помощью функции inttrap([x,]y). Эта функция вычисляет площадь фигуры под графиком функции y(x), которая описана набором точек (x,y). Параметр x является необязательным. Для функции inttrap(y) элементы вектора x принимают значения номеров элементов вектора y.
Интегрирование по квадратуре
Методы трапеций являются частными случаями квадратурных формул Ньютона–Котеса, которые, вообще говоря, имеют вид
,
где
Hi -
это некоторые константы, называемые
постоянными Ньютона–Котеса.
Если для формулы принять n = 1, то получим метод трапеций, а при n = 2 - метод Симпсона. Эти методы называют квадратурными методами низших порядков. Для n > 2 получают квадратурные формулы Ньютона–Котеса высших порядков. Вычислительный алгоритм квадратурных формул реализован в Scilab функцией:
Integrate(fun, X, a, b, [,er1 [,er2]]),
где fun - функция, задающая подынтегральное выражение в символьном виде;x - переменная интегрирования, так же задается в виде символа; a, b - пределы интегрирования, действительные числа; er1 и er2 - параметры, отражающие абсолютную и относительную точность вычислений (действительные числа).
Интегрирование внешней функции
[I,err]=intg(a, b, name [,er1 [,er2]])
где name - имя функции, задающей подынтегральное выражение (здесь функция может быть задана в виде набора дискретных точек или с помощью внешней функции); a и b - пределы интегрирования; er1 и er2 - абсолютная и относительная точность вычислений (необязательные параметры).
18. Численное дифференцирование. Подходы к дифференцированию. Нахождение частной производной функции.
Приближенное дифференцирование, основанное на интерполяционной формуле Ньютона
На практике приближенное дифференцирование применяют в основном дляфункций, заданных в виде таблицы.
dy=diff(y[,n]),
где y - значения функции y(x) в виде вектора вещественных чисел, n - порядок дифференцирования. Результат работы функции-вектор вещественных чисел dy, представляющий собой разности порядка n интерполяционного полинома полинома Ньютона.
Вычисление производной функции в точке. Приближенное вычисление частных производных
g=numdiff(fun,x)
здесь fun - имя функции, задающей выражение для дифференцирования.
Функция должна быть задана в виде y=fun(x [, p1, p2,..., pn]), где x – переменная, по которой будет проводится дифференцирование. Если параметры p1, p2,..., pn присутствуют в описании функции, то они должны быть обязательно определены при вызове, например, так: g=numdiff(list(fun,p1,p2,...pn),x).
19. Решение оду средствами системы SciLab. Функции, применяемые для решения оду и их параметры. Решение краевых задач.
Дифференциальным уравнением n-го порядка называется соотношение вида H(t, x, x’, x’’, ..., x(n)) = 0. (1)
Решением дифференциального уравнения является функция x(t), которая обращает уравнение в тождество.
Системой дифференциальных уравнений n-го порядка называется система вида:
x’1 = f1(t, x1,x2, . . . , xn)
x’2 = f2(t, x1,x2, . . . , xn)
· · ·
x’n = fn(t, x1,x2, . . . , xn).
Решение - x(t) = (x1(t) x2(t) ... xn(t))Т.
Дифференциальные уравнения и системы имеют бесконечное множество решений, которые отличаются друг от друга константами. Для однозначного определения решения требуется задать дополнительные начальные или граничные условия. Количество таких условий должно совпадать с порядком дифференциального уравнения или системы. В зависимости от вида дополнительных условий в дифференциальных уравнениях различают: задачу Коши - все дополнительные условия заданы в одной (чаще начальной) точке интервала; краевую задачу - дополнительные условия указаны на границах интервала.
[y,w,iw]=ode([type],y0,t0,t [,rtol [,atol]],f [,jac] [,w,iw]),
для которой обязательными входными параметрами являются: y0 - вектор начальных условий; t0 - начальная точка интервала интегрирования; t - координаты узлов сетки, в которых происходит поиск решения; f - внешняя функция, определяющая правую часть уравнения или системы уравнений; y – вектор решений.
Рассмотрим необязательные параметры функции ode:
Type - параметр, с помощью которого можно выбрать метод решения или тип решаемой задачи, указав одну из строк: adams - применяют при решении дифференциальных уравнений или систем методом прогноза-коррекции Адамса; stiff - указывают при решении жестких задач; rk – используют при решении дифференциальных уравнений или систем методом Рунге-Кутта четвертого порядка; rkf - указывают при выборе пятиэтапного метода Рунге-Кутта четвертого порядка; fix-тот же метод Рунге-Кутта, но с фиксированным шагом;
rtol, atol - относительная и абсолютная погрешности вычислений, вектор, размерность которого совпадает с размерностью вектора y;
jac - матрица, представляющая собой якобиан правой части жесткой системы дифф. уравнений, задают матрицу в виде внешней функции вида J=jak(t,y);
w, iw - векторы, предназначенные для сохранения информации о параметрах интегрирования, которые применяют для того, чтобы последующие вычисления выполнялись с теми же параметрами.
