
- •1. Векторы и матрицы в matlab. Решение систем линейных уравнений. Функции matlab det(a), rank(a), rref(a), inv(a) .
- •1)Стандартные векторы:
- •2)Стандартные матрицы:
- •3) Операции над векторами и матрицами:
- •9) Обратная матрица:
- •8)Системы линейных уравнений. Существование и единственность решения
- •3. Тригонометрические ряды Фурье. Ряды Фурье в комплексной форме.
- •4. Интегральное преобразование Фурье
- •5. Дискретное преобразование Фурье, реализация в matlab. Функции fft(X) и ifft(X). Частота Найквиста.
- •6. Теорема в.А.Котельникова (теорема отсчетов).
- •8. Линейные системы. Передаточная функция.
- •Линейные стационарные системы
- •Дискретная передаточная функция
- •9. Ачх и фчх. Фильтры. Функции matlab: freqs(b,a), tf2zp(b,a), zp2tf(z,p,k), residue(b,a)
- •10. Цифровая фильтрация. Z-преобразование. Примеры фильтров. Функции matlab: freqz(b,a), residuez(b,a), filter(b,a,X), impz(b,a,n,f)
- •12. Стационарные случайные процессы. Корреляционная (ковариационная) функция и спектральная плотность стационарного случайного процесса.
8)Системы линейных уравнений. Существование и единственность решения
Систему линейных уравнений обычно кратко записывают в видеАх = b.
Имеют место следующие положения:
• система совместна (имеет решение) тогда и только тогда, когда r=R, в случае r<R система несовместна (не имеет решения);
• решение системы единственно тогда и только тогда, когда r=R=n, в случае r=R<n система является неопределенной (имеет бесконечно много решений);
• очевидно, что число уравнений (число строк матрицы) m>R.
9) Метод Гаусса в Матлаб можно реализовать с помощью функции rref(). Функция R = rref(A) осуществляет приведение матрицы к треугольной форме на основе метода исключения Гаусса с частичным выбором ведущего элемента.
-
Матричный метод
Пусть А — матрица коэффициентов системы уравнений, В — вектор свободных членов, X — вектор неизвестных. Тогда неизвестные определяются по одному любому из следующих выражений:
А = [2,1,-3; 1,-1,2; 7,5,1];
В = [1;18;3];
X = inv (A) * В
-
Функция solve()
Функция solve () в случае решения систем уравнений имеет вид:
syms х у z; //определяем символьные переменные
Y = solve('3*x+y-z=3', '-5*x+3*y+4*z=l', 'x+y+z=0,5')//задаем уравнения в символьном виде
Для получения значений неизвестных необходимо воспользоваться командой Y.k, где к— имя неизвестного.
-
Итерационные методы
Такими функциями ЯВЛЯЮТСЯ: bicq(), cqs(), qmresf), qmr().
Функция имеет несколько модификаций. Приведем две:
• bicq(A,B,toi) — выдает решение с погрешностью toi;
• bicq(A,в, tol,maxit)— выдает решение с погрешностью toi при заданном числе итераций. Остальные функции имеют аналогичные модификации.
2. Графика в MATLAB. Функции plot, surf, contour, ndgrid
plot(y)
plot(x, y)
plot(x, y, s)
plot(x1, y1, s1, x2, y2, s2, ...)
Команда plot(y) строит график элементов одномерного массива y в зависимости от номера элемента; если элементы массива y комплексные, то строится график plot(real(y), imag(y)). Если Y - двумерный действительный массив, то строятся графики для столбцов; в случае комплексных элементов их мнимые части игнорируются.
Команда plot(x, y) соответствует построению обычной функции, когда одномерный массив x соответствует значениям аргумента, а одномерный массив y - значениям функции. Когда один из массивов X или Y либо оба двумерные, реализуются следующие построения:
• если массив Y двумерный, а массив x одномерный, то строятся графики для столбцов массива Y в зависимости от элементов вектора x;
• если двумерным является массив X, а массив y одномерный, то строятся графики столбцов массива X в зависимости от элементов вектора y;
• если оба массива X и Y двумерные, то строятся зависимости столбцов массива Y от столбцов массива X.
Трехмерные графики
Затененная сетчатая поверхность
Синтаксис:
surf(X, Y, Z, C) surfc(X, Y, Z, C)
surf(x, y, Z, C ) surfc(x, y, Z, C )
surf(Z, C) surfc(Z, C)
surf(X, Y, Z) surfc(X, Y, Z)
surf(x, y, Z) surfc (x, y, Z)
surf(Z) surfc(Z)
Описание:
Команда surf(X, Y, Z, C) выводит на экран сетчатую поверхность для значений массива Z, определенных на множестве значений массивов X и Y. Цвет ячейки определяется массивом C. Цвет ребер - черный, определяется свойством EdgeColor, специфицированным как [0 0 0]. Можно задать одинаковый цвет для всех ребер, определив его в виде вектора [r g b] интенсивности трех цветов - красного, зеленого, синего. Если определить спецификацию none, то ребра не будут прорисовываться.
Применение функции shading после обращения к функции surf изменяет спецификации свойств EdgeColor и FaceColor графического объекта surface
Команда surf(x, y, Z, C) выполняет ту же функцию, но вместо двумерных массивов X, Y использует их одномерные проекции, так что если length(x) = = n, а length(y) = m, то [m, n] = size(Z). В этом случае узлы сетчатой поверхности определяются тройками {x(j), y(i), Z(i, j)}, где вектор x определяет столбцы массива Z, а y - строки.
Команда surf(Z, C) использует сетку, которая определяется одномерными массивами x = 1 : n и y = 1 : m.
Команды surf(X, Y, Z), surf(x, y, Z), surf(Z) используют в качестве массива цвета C = Z, то есть цвет в этом случае пропорционален высоте поверхности.
Группа команд surfc(...) в дополнение к трехмерным затененным поверхностям строит проекцию линий постоянного уровня.
Функция h = surf(...) возвращает дескриптор h для графического объекта surface.
Алгоритм:
В общем виде, для задания поверхности можно использовать два независимых параметра i и j, которые изменяются непрерывно, например в прямоугольнике 1 <= i <= m, 1 <= j <= n; тогда поверхность будет определяться тремя функциями x(i, j), y(i, j), z(i, j). Когда i и j целые числа, они задают прямоугольную сетку с целочисленными значениями для узлов. Функции x(i, j), y(i, j), z(i, j) становятся двумерными массивами X, Y, Z размера m х n. Четвертая функция - цвет ячеек поверхности c(i, j) задает четвертую матрицу C.
Изображение линий уровня для трехмерной поверхности
Синтаксис:
contour(Z) contour(x, y, Z)
contour(Z, n) contour(x, y, Z, n)
contour(Z, v) contour(x, y, Z, v)
contour(...,’тип_линии’)
C = contour(...)
[C, h] = contour(...)
Описание:
Команда contour(Z) рисует двумерные линии уровня для массива данных Z, определяющих поверхность в трехмерном пространстве без учета диапазона изменения координат x и y.
Команда contour(x, y, Z), где x и y - векторы, рисует линии уровня для массива данных Z с учетом диапазона изменения координат x и y.
Команды contour(Z, n), contour(x, y, Z, n) рисует n линий уровня для массива данных Z; по умолчанию, n равно 10.
Команды contour(Z, v), contour(x, y, Z, v) рисуют линии уровня для заданных значений, которые указаны в векторе v.
Команда contour(...,’<тип линии>’) рисует линии уровня, тип и цвет которых определяются параметром <тип линии> команды plot.
Функция C = contour(...) возвращает массив C описания линий уровней по аналогии с функцией contourc для последующего использования командой clabel.
Функция [C, h] = contour(...) возвращает массив C и вектор-столбец дескрипторов h графических объектов line для каждой линии уровня.
Функция ndgrid является многомерным аналогом функции meshgrid:
• [Х1.Х2.ХЗ,...] = ndgrid(xl,x2,x3....) — преобразует область, заданную векторами xl.x2.x3..., в массивы Х1.Х2.ХЗ..., которые могут быть использованы для вычисления функций нескольких переменных и многомерной интерполяции, i-я размерность выходного массива xi является копией вектора xi;
• [XI.Х2....] = ndgrid(x) - аналогична [XI.Х2....] = ndgrid(x,x,...).