Progress-servis55.ru

Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Одномерные массивы в matlab

Одномерные массивы в matlab

Наборы чисел в программировании принято называть массивами. Всему массиву присваивается одно имя, а доступ к отдельным элементам массива осуществляется по целочисленному индексу, то есть номеру элемента в массиве. Массивы бывают одномерными, когда используется единственный индекс (номер), а могут быть и многомерными (в частности — двумерными).

Сначала рассмотрим одномерные массивы. Это линейные наборы чисел (элементов), в которых позиция каждого элемента задаётся единственным числом — его номером. Можно говорить о первом элементе массива, о втором и т.д.

Для задания одномерного массива, состоящего из нескольких чисел (вещественных или комплексных), используется операция конкатенации, обозначаемая с помощью квадратных скобок — [] . Например, следующее выражение

формирует переменную с именем a1 , являющуюся одномерным массивом из трёх элементов (вещественных чисел). Объединяемые в массив элементы должны отделяться друг от друга либо пробелом, либо запятой. Так что выражение

абсолютно идентично предыдущему.

Для доступа к индивидуальному элементу одномерного массива нужно после его имени указать в круглых скобках индекс (номер) этого элемента. Например, третий элемент массива a1 обозначается как a1(3) , первый элемент — как a1(1) , второй элемент — как a1(2) .

Если требуется изменить третий элемент уже сформированного выше операцией конкатенации массива a1 , то можно применить операцию присваивания:

Пусть, к примеру, второй элемент массива a1 должен стать равным среднему арифметическому первого и третьего элементов. Для этого выполняем следующее действие:

Количество элементов в одномерном массиве всегда можно узнать с помощью функции length :

При попытке чтения несуществующего элемента (напрмер, четвёртого элемента массива a1 ) в командном окне MATLABа появляется сообщение об ошибке:

В этом сообщении утверждается, что индекс превысил размер массива.

В то же время запись несуществующего элемента вполне допустима — она означает добавление нового элемента к уже существующему массиву:

Применяя к массиву a1 функцию length , находим, что количество элементов в этом массиве возросло до четырёх:

То же самое действие — «удлинение массива a1 » ,можно выполнить и с помощью операции конкатенации:

Здесь операндами операции конкатенации являются массив a1 , состоящий из трёх элементов, и добавляемый к нему четвёртый элемент, равный 7 .

Теперь создадим ещё один одномерный массив a2 , причём для его создания не будем использовать операцию конкатенации (как мы поступили выше). Вместо этого будем прописывать каждый элемент создаваемого массива по-отдельности:

a2(1) = 67
a2(2) = 7.8
a2(3) = 0.017

Из двух существующих массивов — массива a1 с четырьмя элементами и массива a2 с тремя элементами, можно одной (групповой) операцией конкатенации создать одномерный массив b из семи элементов:

Массивы могут состоять не только из вещественных чисел. Выражение

d = [ 1+2i, 2+3i, 3-7i ]

формирует одномерный массив d комплексных чисел. Разделителем элементов формируемого одномерного массива может быть либо пробел, либо запятая. При использовании выражений и комплексных чисел использование запятой предпочтительнее.

Теперь рассмотрим двумерные массивы, которые можно трактовать как набор чисел, упорядоченный в виде прямоугольной таблицы, когда для доступа к индивидуальному элементу используется два индекса — номер строки и номер столбца (на пересечении которых и стоит выбранный элемент).

Двумерный массив характеризуется количеством строк и количеством столбцов. Составим массив a3 , состоящий из двух столбцов и трёх строк:

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

Как и в случае одномерных массивов двумерный массив можно создать, индивидуально прописывая его элементы:

a3(1,1) = 1
a3(1,2) = 2
a3(2,1) = 3
a3(2,2) = 4
a3(3,1) = 5
a3(3,2) = 6

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

Система MATLAB может работать и с массивами больших размерностей. Они будут рассматриваться позже в следующем разделе.

Вернёмся к двумерным массивам, которые в математике принято называть матрицами. Любая строка матрицы является одномерным массивом, и любой столбец матрицы также является одномерным массивом. Однако есть некоторая разница в упорядочении их элементов с точки зрения матриц: элементы первого одномерного массива упорядочены вдоль строк матрицы (горизонтально), а элементы второго — вдоль столбцов (вертикально). Если явно учитывать в понятии одномерного массива эту разницу, то тогда массивы первого типа называют вектор-строками, а второго типа — вектор-столбцами. В этом случае также можно считать, что вектор-строки являются частным случаем матрицы с количеством строк, равным единице, а вектор-столбцы являются частным случаем матрицы с количеством столбцов, равным единице.

В системе MATLAB все одномерные массивы трактуются либо как вектор-строки, либо как вектор-столбцы. До сих пор мы вводили только вектор-строки. Следующее выражение, использующее операцию конкатенации, задаёт вектор-столбец

состоящий из трёх строк, так как точка с запятой в операции конкатенации означает переход на новую строку.

Для массива a4 функция length(a4) возвращает число 3 , так как действительно этот массив состоит из трёх элементов. Функция length не различает вектор-строки и вектор-столбцы.

Если попросить систему MATLAB показать значение переменной a4 , то мы увидим следующую картину:

То есть MATLAB распознаёт «геометрию» этого одномерного массива и наглядно отображает его, располагая элементы для показа в своём окне вертикально.

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

причём первым показывается число строк, а вторым — число столбцов.

Применяем эту же функцию к одномерным массивам. Вот, что из этого получается для вектор-строки a2

состоящего из одной строки и трёх столбцов. Для вектор-столбца a4 , состоящего из трёх строк и одного столбца, имеем следующий результат применения функции size :

Наконец, попробуем применить эту функцию к переменной, состоящей из единственного числового значения, то есть к скаляру:

var1 = 5
size(var1)
ans =
1 1

Отсюда видно, что система MATLAB трактует даже по-существу скалярные величины как массивы с размером 1×1. Это ровным счётом ничего не меняет для пользователя, так как он может не обращать на это никакого внимания. MATLAB переходит от скаляров к массивам прозрачно, не требуя от пользователя дополнительных действий.

Итак, всё, с чем работает MATLAB, является массивами различной размерности. Все массивы из текущего сеанса работы (текущего Рабочего пространства) можно просмотреть

с точки зрения их структуры с помощью команды whos .

Одномерные массивы MATLAB

Описание: Массивы являются основными объектами в системе MATLAB: в версиях 4.х допускаются только одномерные массивы — векторы — и двумерные массивы — матрицы

Дата добавления: 2014-08-04

Размер файла: 14.01 KB

Работу скачали: 18 чел.

Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск

Массивы являются основными объектами в системе MATLAB : в версиях 4.х допускаются только одномерные массивы — векторы — и двумерные массивы — матрицы; в версии 5.0 возможно использование многомерных массивов — тензоров. Ниже описаны функции формирования массивов и матриц, операции над матрицами, специальные матрицы в рамках системы MATLAB версий 4.х.

Читать еще:  Ошибка сервера плей маркет андроид

Формирование массивов специального вида

  • ZEROS — формирование массива нулей
  • ONES — формирование массива единиц
  • EYE — формирование единичной матрицы
  • RAND — формирование массива элементов, распределенных по равномерному закону
  • RANDN — формирование массива элементов, распределенных по нормальному закону
  • CROSS — векторное произведение
  • KRON — формирование тензорного произведения
  • LINSPACE — формирование линейного массива равноотстоящих узлов
  • LOGSPACE — формирование узлов логарифмичесокй сетки
  • MESHGRID — формирование узлов двумерной и трехмерной сеток
  • : — формирование векторов и подматриц

Операции над матрицами

  • DIAG — формирование или извлечение диагоналей матрицы
  • TRIL — формирование нижнетреугольной матрицы (массива)
  • TRIU — формирование верхнетреугольной матрицы (массива)
  • FLIPLR — поворот матрицы относительно вертикальной оси
  • FLIPUD — поворот матрицы относительно горизонтальной оси
  • ROT90 — поворот матрицы на 90 градусов
  • RESHAPE — преобразование размеров матрицы

Специальные матрицы

  • COMPAN — сопровождающая матрица характеристического многочлена
  • HADAMARD — матрица Адамара (Hadamard matrix)
  • HANKEL — матрица Ганкеля (Hankel matrix)
  • HILB, INVHILB — матрица Гильберта (Hilbert matrix)
  • MAGIC — магический квадрат
  • PASCAL — матрица Паскаля (Pascal matrix)
  • ROSSER — матрица Рессера (Rosser matrix)
  • TOEPLITZ — матрица Теплица (Toeplitz matrix)
  • VANDER — матрица Вандермонда (Vandermonde matrix)
  • WILKINSON — матрица Уилкинсона (Wilkinson matrix)

Свертка одномерных массивов

z = conv(x, y)
[q, r] = deconv(z, x)

Если заданы одномерные массивы x и y длины соответственно m = length(x) и n = length(y), , то свертка z — это одномерный массив длины m + n -1, k-й элемент которого определяется по формуле

Функция z = conv(x, y) вычисляет свертку z двух одномерных массивов x и y.

Рассматривая эти массивы как выборки из двух сигналов, можно сформулировать теорему свертки в следующей форме:
Если X = fft([x zeros(1, length(y)-1]) и Y = fft([y zeros(1, length(x) — 1]) — согласованные по размерам преобразования Фурье сигналов x и y, то справедливо соотношение conv(x, y) = ifft(X.*Y).

Иначе говоря, свертка двух сигналов эквивалентна умножению преобразований Фурье этих сигналов.

Функция [q, r] = deconv(z, x) выполняет операцию, обратную операции свертки. Эта операция равносильна определению импульсной характеристики фильтра. Если справедливо соотношение z = conv(x, y), то q = y, r = 0.

Сопутствующие функции: Signal Processing Toolbox [1].

1. Signal Processing Toolbox User’s Guide. Natick: The MathWorks, Inc., 1993.

Установка шаблона матриц и векторов (Matrix. )

Операция Matrix. (Матрицы) обеспечивает задание векторов или матриц Как известно, матрица является заданным своим именем объектом в виде массива данных MathCAD использует одномерные массивы — векторы и двумерные — собственно матрицы

Матрица характеризуется числом строк (Rows) и числом столбцов (Columns). Таким образом, число элементов матрицы или ее размерность равны Rows x Columns Элементами матриц могут быть числа, константы, пере менные и даже математические выражения Соответственно матрицы могут быть численными и символьными

Если использовать операцию Matrix. то в текущем окне появится не большое окошко, позволяющее задать размерность вектора или матрицы (см рис 515 справа) Для этого нужно указать число строк Rows и число сголбцов Columns Нажав клавишу Enter или указав курсором мыши на изображение клавиши Insert (Вставить) в окошке, можно вывести шаблон матрицы или вектора (вектор имеет один из параметров размерности, равный 1)

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

Рис. 5. 15 Вывод шаблонов вектора и матрицы и их заполнение

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

Если использовать операцию Insert (Включение) при уже выведенном шаблоне матрицы, то матрица расширяется и ее размер увеличивается. Кнопка Delete (Стирание) позволяет убрать расширение матрицы, вычеркнув из нее строку или столбец.

Каждый элемент матрицы характеризуется индексированной переменной, и его положение в матрице обозначается двумя индексами: один указывает номер строки, другой — номер столбца. Для набора индексированной переменной прежде надо ввести имя переменной, а затем перейти к набору индексов нажатием клавиши, вводящей символ]. Прежде указывается индекс строки, а затем через запятую индекс столбца. Примеры вывода индексированных переменных (элементов матрицы М) также даны на рис. 5. 14.

Вырожденная в одну строку или в один столбец матрица является вектором. Его элементы — индексированные переменные с одним индексом. Нижняя граница индексов задается значением системной переменной ORIGIN. Обычно ее значение задают равным 0 или 1.

Урок 5 — Работа с массивами в Матлаб(Matlab)

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

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

Важно понять, что вектор, вектор-строка или матрица являются математическими объектами, а одномерные, двумерные или многомерные массивы — способы хранения этих объектов в компьютере. Всюду дальше будут использоваться слова вектор и матрица, если больший интерес представляет сам объект, чем способ его хранения. Вектор может быть записан в столбик (вектор-столбец) и в строку (вектор-строка). Вектор-столбцы и вектор-строки часто будут называться просто векторами, различие будет сделано в тех случаях, если важен способ хранения вектора в MatLab. Векторы и матрицы обозначаются курсивом, а соответствующие им массивы прямым моноширинным шрифтом, например: «вектор а содержится в массиве а», «запишите матрицу R в массив r».

Ввод сложение и вычитание векторов

Работу с массивами начнем с простого примера — вычисления суммы векторов:
, .

Для хранения векторов используйте массивы а и b. Введите массив а в командной строке, используя квадратные скобки и разделяя элементы вектора точкой с запятой:

» a = [1.3; 5.4; 6.9]
a =
1.3000
5.4000
6.9000

Так как введенное выражение не завершено точкой с запятой, то пакет MatLab автоматически вывел значение переменной а. Введите теперь второй вектор, подавив вывод на экран

Для нахождения суммы векторов используется знак +. Вычислите сумму, запишите результат в массив с и выведите его элементы в командное окно:

» с = а + b
с =
8.4000
8.9000
15.1000

Узнайте размерность и размер массива а при помощи встроенных функций ndims и size:

Итак, вектор а хранится в двумерном массиве а размерностью три на один (вектор-столбец из трех строк и одного столбца). Аналогичные операции можно проделать и для массивов b и c. Поскольку числа в пакете MatLab представляются в виде двумерного массива один на один, то при сложении векторов используется тот же знак плюс, что и для сложения чисел.

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

» s1 = [3 4 9 2]
s1 =
3 4 9 2
» s2 = [5 3 3 2]
s1 =
5 3 3 2
» s3 = s1 + s2
s3 =
8 7 12 4

Замечание 1

Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке.

Естественно, для нахождения разности векторов следует применять знак минус, с умножением дело обстоит несколько сложнее.
Введите две вектор-строки:

» v1 = [2 -3 4 1];
» v2 = [7 5 -6 9];

Операция .* (не вставляйте пробел между точкой и звездочкой!) приводит к поэлементному умножению векторов одинаковой длины. В результате получается вектор с элементами, равными произведению соответствующих элементов исходных векторов:

» u = v1.*v2
u =
14 -15 -24 9

При помощи .^ осуществляется поэлементное возведение в степень:

» р = v1.^2
p =
4 9 16 1

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

» p = vl.^v2
Р =
128.0000 -243.0000 0.0002 1.0000

Деление соответствующих элементов векторов одинаковой длины выполняется с использованием операции ./

» d = v1./v2
d =
0.2857 -0.6000 -0.6667 0.1111

Обратное поэлементное деление (деление элементов второго вектора на соответствующие элементы первого) осуществляется при помощи операции .

» dinv = vl.v2
dinv =
3.5000 -1.6667 -1.5000 9.0000

Итак, точка в MatLab используется не только для ввода десятичных дробей, но и для указания того, что деление или умножение массивов одинакового размера должно быть выполнено поэлементно.
К поэлементным относятся и операции с вектором и числом. Сложение вектора и числа не приводит к сообщению об ошибке. MatLab прибавляет число к каждому элементу вектора. То же самое справедливо и для вычитания:

» v = [4 6 8 10];
» s = v + 1.2
s =
5.2000 6.2000 9.2000 11.2000
» r = 1.2 — v
r =
-2.8000 -4.8000 -6.8000 -8.8000
» r1 = v — 1.2
r1 = 2.8000 4.8000 6.8000 8.8000

Умножать вектор на число можно как справа, так и слева:

» v = [4 6 8 10];
» p = v*2
р =.
8 12 16 20
» pi = 2*v
pi =
8 12 16 20

Делить при помощи знака / можно вектор на число:

» р = v/2
p =
2 3 4 5

Попытка деления числа на вектор приводит к сообщению об ошибке:

» р = 2/v
. Error using ==> /
Matrix dimensions must agree.

Если требуется разделить число на каждый элемент вектора и записать результат в новый вектор, то следует использовать операцию ./

» w = [4 2 6];
» d = 12./w
d =
3 6 2

Все вышеописанные операции применимы как к вектор-строкам, так и к вектор-столбцам.
Особенность MatLab представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d. Для получения вектора d достаточно использовать один оператор присваивания:

» d = sin(с)
d =
0.8546
0.5010
0.5712

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

» sqrt(-d)
ans =
0 + 0.9244i
0 + 0.7078i
0 + 0.7558i

Оператор присваивания не использовался, поэтому пакет MatLab записал ответ в стандартную переменную ans.

Для определения длины вектор-столбцов или вектор-строк служит встроенная функция length:

Из нескольких вектор-столбцов можно составить один, используя квадратные скобки и разделяя исходные вектор-столбцы точкой с запятой:

Для сцепления вектор-строк также применяются квадратные скобки, но сцепляемые вектор-строки отделяются пробелами или запятыми:

» v1 = [1 2];
» v2 = [3 4 5];
» v = [v1 v2]
v =
1 2 3 4 5

Работа с элементами векторов

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

» v = [1.3 3.6 7.4 8.2 0.9];

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

Появление элемента массива в левой части оператора присваивания приводит к изменению в массиве

» v(2) = 555
v =
1.3000 555.0000 7.4000 8.2000 0.9000

Из элементов массива можно формировать новые массивы, например

» u = [v(3); v(2); v(1)]
u =
7.4000
555.0000
1.3000

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

» ind = [4 2 5];
» w = v(ind)
w =
8.2000 555.0000 0.9000

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

» w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
» w(2:6) = 0;
» w
w =
0.1000 0 0 0 0 0 9.8000

Присваивание w(2:6) = 0 эквивалентно последовательности команд
w(2) = 0; w(3)=0; w(4)=0; w(5)=0; w(6)=0.
Индексация при помощи двоеточия оказывается удобной при выделении части из большого объема данных в новый массив:

» w — [0.1 2.9 3.3 5.1 2.6 7.1 9.8];
» wl = w(3:5)
wl =
3.3000 5.1000 2.6000

Составьте массив w2, содержащий элементы w кроме четвертого. В этом случае удобно использовать двоеточие и сцепление строк:

» w2 = [w(l:3) w(5:7)]
w2 =
0.1000 2.9000 3.3000 2.6000 7.1000 9.8000

Элементы массива могут входить в выражения. Нахождение, например среднего геометрического из элементов массива u, можно выполнить следующим образом:

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

Применение функций обработки данных к векторам

Перемножение элементов вектора-столбца или вектора-строки осуществляется при помощи функции prod:

» z = [3; 2; 1; 4; 6; 5];
» р = prod(z)
p = 720

Функция sum предназначена для суммирования элементов вектора. С ее помощью нетрудно вычислить среднее арифметическое элементов вектора z:

» sum(z)/length(z)
ans =
3.5000

В MatLab имеется и специальная функция mean для вычисления среднего арифметического:

Для определения минимального и максимального из элементов вектора служат встроенные функции min и max:

» m1 = max(z)
m1 =
6
» m2 = min(z)
m2 =
1

Часто необходимо знать не только значение минимального или максимального элемента в массиве, но и его индекс (порядковый номер). В этом случае встроенные функции min и max необходимо использовать с двумя выходными аргументами, например

» [m, k] = min(z)
m =
1
k =
3

В результате переменной m будет присвоено значение минимального элемента массива z, а номер минимального элемента занесен в переменную k.
Для получения информации о различных способах использования функций следует набрать в командной строке help и имя функции. MatLab выведет в командное окно всевозможные способы обращения к функции с дополнительными пояснениями.
В число основных функций для работы с векторами входит функция упорядочения вектора по возрастанию его элементов sort.

» r = [9.4 -2.3 -5.2 7.1 0.8 1.3];
» R = sort(r)
R =
-5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000

Можно упорядочить вектор по убыванию, используя эту же функцию sort:

» R1 = -sort(-r)
R1 =
9.4000 7.1000 1.3000 0.8000 -2.3000 -5.2000

Упорядочение элементов в порядке возрастания их модулей производится с привлечением функции abs:

» R2 = sort(abs(r))
R2 =
0.8000 1.3000 2.3000 5.2000 7.1000 9.4000

Вызов sort с двумя выходными аргументами приводит к образованию массива индексов соответствия элементов упорядоченного и исходного массивов:

» [rs, ind] = sort(r)
rs =
-5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000
ind =
3 2 5 6 4 1

Формированиемассивов данных в системе MATLAB

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ

УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА

(национальный исследовательский университет)»

ОПЕРАЦИИС МАССИВАМИ И ПОЛИНОМАМИ В СРЕДЕ КОМПЬЮТЕРНЫХ ВЫЧИСЛЕНИЙ MATLAB

САМАРА 2012

Министерство образования и науки

Федеральное государственное бюджетное образовательное учреждение

Высшего профессионального образования

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ

УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА

(национальный исследовательский университет)»

ОПЕРАЦИИС МАССИВАМИ И ПОЛИНОМАМИ В СРЕДЕ КОМПЬЮТЕРНЫХ ВЫЧИСЛЕНИЙ MATLAB

Методические указания к лабораторной работе

Составитель: А.А. Федотов

Операции с массивамии полиномами в среде компьютерных вычислений MATLAB:Метод. указания / Самар. гос. аэрокосм. ун-т.; сост. А.А. Федотов; Самара, 2012. 12 с.

В методических указаниях изложены основные сведения об особенностях работы с числовыми массивами и полиномами в среде программированияMATLAB.Рассматривается решение различных практических задач обработки одномерных и двумерных числовых массивов средствами среды MATLAB. Приведены порядок выполнения работы и требования к отчету.

Методические указания предназначены для студентов очно-заочной формы обучения, обучающихся по специальности 201000 «Биотехнические системы и технологии» и выполняющих лабораторные работы по дисциплине “Информационные технологии”. Подготовлены на кафедре радиотехники и медицинских диагностических систем.

Ил. 3. Библиогр. 3 назв.

Печатаются по решению редакционно-издательского совета Самарского государственного аэрокосмического университета имениакадемика С.П. Королева

Цель работы:ознакомление с особенностями выполнения различных операций над числовыми массивами и полиномами в среде компьютерных вычислений MATLAB.

Задачи:

1. Изучить синтаксис языка программирования MATLAB для работы с одномерными и двумерными числовыми массивами, а также полиномами.

2. Используя полученные теоретические сведения, выполнить задания лабораторной работы и подготовить отчет.

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАБОТЫ

Формированиемассивов данных в системе MATLAB

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

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

Исходные значения вектора-строки можно задавать путем поэлементного ввода. Для этого вначале указывают имя вектора, затем ставят знак присваивания “=”, далее открывающую квадратную скобку “[“, за ней значения вектора, отделяя их между собой пробелами или запятыми. Запись завершается закрывающей квадратной скобкой “]”. На рисунке 1 приведено командное окно создания вектора-строки.

Вектор-столбец задается аналогично вектору строке, но элементы отделяются друг от друга знаком “;”. Для создания вектора-столбца можно также использоватьформу записи с указанием значений через пробел,при этом в конце добавляется апостроф . На рисунке 2 приведено командное окно создания вектора-столбца.

Рисунок 1 – Окно результата создания вектора-строки Рисунок 2 – Окно результата создания вектора-столбца

Язык программирования MATLAB дает пользователям возможность сокращенного ввода вектора, элементы которого являются арифметической прогрессией.

>>A=nz:h:kz

где: nz – начальное значение прогрессии (первый элемент вектора), kz – конечное значение прогрессии (последний элемент вектора), h – разность прогрессии (шаг).

Ввод элементов матрицы осуществляется по строкам. При этом элементы строки матрицы отделяются друг от друга пробелами или запятыми, а строки отделяются друг от друга знаком «;». На рисунке 3 приведено командное окно создания матрицы.

Рисунок 3 – Окно результата создания матрицы

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

Для того чтобы MATLAB не выводил каждый раз значение переменной после ее ввода, необходимо завершать ввод каждой команды знаком “;”.

Матрицу можно преобразовать в вектор-строку с помощью команды следующего вида:

Обращение к элементу матрицы А производится с помощью следующих команд:

A(i, j) – обращение к элементу i-й строки j-го столбца;

A(i, 🙂 – обращение к i-й строки;

A(:, j) – обращение кj-му столбцу.

Для удаления определенного элемента массива достаточно выполнить следующую команду:

>>A(2, 3)=[];

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

Система MATLAB в отличие от многих других компьютерных систем вычислений устанавливает начальное значение индекса массива как единицу, а не ноль.

Для выполнения операции конкатенации массивов – объединения нескольких массивов в один, в системе MATLABнеобходимо выполнить следующие действия:

>>C=[AB] – горизонтальная конкатенация массивов;

>>C=[A; B] – вертикальная конкатенация массивов.

Для определения числа строк и столбцов матрицы Aв системе MATLAB существует Функция size (А), возвращающая вектор [n, p], содержащий данные о количестве строк и столбцов матрицы А, соответственно.

В системе MATLABсуществует несколько функций, которые позволяют формировать векторы и матрицы определенного вида:

zeros (M, N) – создает матрицу размером M на N с нулевыми элементами;

ones (M, N)– создает матрицу размером M на N с единичными элементами;

eye (M, N)– создает матрицу размером M на N с единицами по главной диагонали и всеми остальными нулями;

rand (M,N)– создает матрицу размером M на N из случайных чисел, распределенных по равномерному закону в диапазоне от 0 до 1;

randn (M,N)– создает матрицу размером M на N из случайных чисел, распределенных по нормальному закону в диапазоне от 0 до 1.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Для студента самое главное не сдать экзамен, а вовремя вспомнить про него. 10618 — | 7809 — или читать все.

Ссылка на основную публикацию
Adblock
detector