Презентация Программирование на языке MATLAB. Работа с массивами данных онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Программирование на языке MATLAB. Работа с массивами данных абсолютно бесплатно. Урок-презентация на эту тему содержит всего 29 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Программирование на языке MATLAB. Работа с массивами данных



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    29 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    377.00 kB
  • Просмотров:
    107
  • Скачиваний:
    0
  • Автор:
    неизвестен



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

№1 слайд
Содержание слайда:

№2 слайд
Вопросы для изучения . Работа
Содержание слайда: Вопросы для изучения 4.6 Работа с массивами данных 4.7 Создание и редактирование векторов и матриц 4.8 Выделение подматриц 4.9 Основные поэлементные действия над матрицами. Функции для обработки векторов и матриц

№3 слайд
. Работа с массивами данных .
Содержание слайда: 4.6 Работа с массивами данных 4.6 Работа с массивами данных MatLAB - система, специально предназначенная для осуществления сложных вычислений с векторами и матрицами. Все данные MatLab представляет в виде массивов. MATLAB не требует от пользователя предварительного задания размерности и размеров массива. Пользователь может вводить ее постепенно, при этом MATLAB будет динамически перестраивать структуру массива. Массив - упорядоченная, пронумерованная совокупность однородных данных. У массива должно быть имя. Под вектором в MatLAB понимается одномерный массив чисел, а под матрицей - двумерный массив. Доступ к элементам массива осуществляется при помощи индекса. В MatLab нумерация элементов массивов начинается с единицы. Это значит, что индексы должны быть больше или равны единице.

№4 слайд
По умолчанию предполагается,
Содержание слайда: По умолчанию предполагается, что любая заданная переменная является вектором или матрицей. Например, отдельное заданное число система воспринимает как матрицу размером (1*1), а вектор-строку из N элементов - как матрицу размером (1*N). Массивы в MATLAB не образуют нового типа данных. Числовые массивы состоят из элементов типа double. Помимо памяти, необходимой для хранения собственно значений числовых элементов (по 8 байт на каждый в случае вещественных чисел и по 16 байт в случае комплексных чисел), при создании массивов MATLAB автоматически выделяет еще и память для управляющей информации. В этой области памяти хранится размерность массива, количество элементов по каждой размерности, тип элементов (вещественные или комплексные) и так далее.

№5 слайд
. Создание и редактирование
Содержание слайда: 4.7 Создание и редактирование векторов и матриц 4.7 Создание и редактирование векторов и матриц Для создания одномерного массива используют: - операцию конкатенации, - операцию индексации, - вызов специальных функций. - специальную операцию, обозначаемую двоеточием. Операция конкатенации обозначается с помощью квадратных скобок [ ]. При использовании операции конкатенации объединяемые в одномерный массив элементы располагаются между открывающей и закрывающей квадратными скобками и отделяются друг от друга либо пробелом, либо запятой. Например, следующее выражение, использующее операцию конкатенации >> z = [1 2 3] формирует переменную с именем z, являющуюся одномерным массивом, состоящим из трех элементов (вещественных чисел). Выражение >> z = [1,2,3] по своему результату абсолютно идентично предыдущему.

№6 слайд
В MATLAB все одномерные
Содержание слайда: В MATLAB все одномерные массивы трактуются либо как вектор-строки, либо как вектор-столбцы. При вводе вектор-строк в операциях конкатенации в качестве разделителей использовали либо пробелы, либо запятые. В MATLAB все одномерные массивы трактуются либо как вектор-строки, либо как вектор-столбцы. При вводе вектор-строк в операциях конкатенации в качестве разделителей использовали либо пробелы, либо запятые. Следующее выражение, использующее операцию конкатенации, задает вектор-столбец >>b=[1;2;3] состоящий из трех строк, так как точка с запятой в операции конкатенации означает переход на новую строку.

№7 слайд
Операция индексации для ввода
Содержание слайда: Операция индексации для ввода массива основана на возможности доступа к отдельному элементу одномерного массива: после имени массива необходимо указать в круглых скобках индекс (номер) элемента. В итоге третий элемент массива z обозначается как z(3), первый элемент — как z(l), второй элемент — как z(2). Операция индексации для ввода массива основана на возможности доступа к отдельному элементу одномерного массива: после имени массива необходимо указать в круглых скобках индекс (номер) элемента. В итоге третий элемент массива z обозначается как z(3), первый элемент — как z(l), второй элемент — как z(2). Например, следующее выражение, использующее операцию индексации >> z(1) =1; >> z(2) =2; >> z(3) =3; формирует одномерный массив, состоящий из трех элементов (вещественных чисел). Описанное пошаговое создание массива из трех элементов возможно потому, что MATLAB с каждым новым присваиванием автоматически перестраивает свою служебную информацию о массиве, а также область памяти, отводимой под его элементы. Описанный способ создания одномерного массива не является эффективным и проигрывает в быстродействии операции конкатенации. Проигрыш в быстродействии мало заметен когда пользователь вводит всю информацию с клавиатуры, однако становится критичным в программном режиме, когда MATLAB подряд исполняет многочисленные инструкции с массивами

№8 слайд
Для экономии ресурсов ЭВМ
Содержание слайда: Для экономии ресурсов ЭВМ присваивание значений элементам массива, начиная с последних по номеру элементов и заканчивая первым: Для экономии ресурсов ЭВМ присваивание значений элементам массива, начиная с последних по номеру элементов и заканчивая первым: >> z(3) =3; >> z(2) =2; >> z(1) =1; Здесь при выполнении первого же присваивания система MAT'LAB выделяет память под три вещественных числа, присваивает указанное значение третьему элементу, второму и затем первому элементу.

№9 слайд
Создание массива с вызовом
Содержание слайда: Создание массива с вызовом специальных функций увеличить быстродействие работы MATLAB примерно в 100 раз. Во-первых, можно предварительно выделить всю необходимую память под конечный размер массива. Это достигается вызовом функций: zeros(m,n) – создает матрицу размером M x N c нулевыми элементами; ones(m,n) – создает матрицу размером M x N c единичными элементами; eye(m,n) – создает единичную матрицу размером M x N , т.е. с единицами по главной магистрами и остальными нулевыми элементами; rand(m,n) – создает матрицу размером M x N из случайных чисел равномерно распределенных в диапазоне от 0 до 1; Во-вторых постепенно прописать элементы нужными значениями не требует перестройки структуры памяти, отведенной под массив и, следовательно, позволяет сэкономить время. К примеру, для массива z можно перед присваиваниями сделать следующий вызов функции ones: >> z=ones(1,3); сразу создается массив из трех элементов, равных единице. После это­го можно осуществить присваивания нужных значений элементам массива >> z(1) =1; >> z(2) =2; >> z(3) =3;

№10 слайд
Еще один способ ввода
Содержание слайда: Еще один способ ввода массива, основан на применении специальной операции, обозначаемой двоеточием - операцией формирования диапазона числовых значений. Например, создание одномерного массива чисел в диапазоне от 1 до 3 с приращением 1: >>z = 1:1:3; Сначала включается в формируемый массив левая граница диапазона. Затем к этому числовому значению прибавляется приращение, которое указывается после первого двоеточия. Если сумма не превосходит верхней границы диапазона, то она включается в качестве элемента в формируемый массив. Это все повторяется до тех пор, пока очередное числовое значение не превысит верхнюю границу.

№11 слайд
При необходимости изменить
Содержание слайда: При необходимости изменить элемент сформированного одномерного массива можно применить операцию индексации и операцию присваивания: При необходимости изменить элемент сформированного одномерного массива можно применить операцию индексации и операцию присваивания: z(3) = 78; Если, например, второй элемент массива z должен стать равным среднему арифметическому первого и третьего элементов, нужно выполнить следующую команду: z(2) = (z (1) + z (3) ) /2 Запись несуществующего элемента массива означает добавление нового элемента к уже существующему массиву: >> z(4)=7; Тоже самое действие — «удлинение» массива z, можно выполнить и с помощью операции конкатенации: >> z=[z 7]; Можно подвергнуть конкатенации и несколько массивов. Например, следующий код >> y=[z z 9 z]

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

№13 слайд
Для создания двумерного
Содержание слайда: Для создания двумерного массива (матрицы) в MATLAB используют: - операцию конкатенации, - операцию индексации, - вызов специальных функций. Значения элементов матрицы вводятся в квадратных скобках по строкам. При этом элементы строки матрицы разделяются пробелом или запятой, а строки отделяются одна от другой точкой с запятой. Матрицу X размером 3x2 (первым указывается число строк, вторым — число столбцов), получающуюся в результате операции конкатенации >>Х=[1 2 ;3 4 ;5 6] 1 2 3 4 5 6

№14 слайд
Матрицу X можно сформировать
Содержание слайда: Матрицу X можно сформировать: вертикальной конкатенацией векторов-строк: >> Х=[[1 2]; [3 4]; [5 6]] или горизонтальной конкатенацией векторов-столбцов: >> Х=[[1;3;5],[2;4;6]] Вертикальную и горизонтальную конкатенации можно также осуществить с помощью функции cat. Для вертикальной конкатенации ее первый параметр равен единице >>X=cat (1, [1 2] , [3 4] , [5 6]) а для горизонтальной конкатенации он равен двум: >>X=cat(2,[1;3;5],[2;4;6])

№15 слайд
Как и рассмотренные ранее
Содержание слайда: Как и рассмотренные ранее одномерные массивы (векторы), двумерные массивы можно создать с помощью операции индексации, прописывая по отдельности его элементы необходимыми числовыми значениями. Например, рассмотренный ранее массив X можно создать следующим образом >> X(1,1)=1; X(1,2)=2; >> X (2 ,1) =3 ; Х (2, 2) =4 ; >> X (3,1) =5 ; Х (3,2) =6 ; где для доступа («чтению») к отдельным элементам используются круглые скобки (операция индексации), внутри которых через запятую перечисляются индексы. Здесь первым указывается номер строки, вторым — номер столбца. Как и в случае одномерных массивов, это решение является неэффективным, так как по мере присваивании MATLAB приходится перестраивать структуру массива. Проблема преодолевается, если присваивание >> X (3,2) =6; поместить первым.

№16 слайд
Кроме того, можно сразу
Содержание слайда: Кроме того, можно сразу создать двумерный массив нужного размера функциями ones или zeros, у этих функций первый параметр задает число строк, а второй число столбцов. : >> ones (3,2) или >> zeros (3,2) а затем осуществить присваивания отдельным элементам нужных значений (порядок присваивании не имеет значения). Редактирование двухмерных массивов и обращение к их элементам производиться с использованием операции индексации. Пример

№17 слайд
. Выделение подматриц .
Содержание слайда: 4.8 Выделение подматриц 4.8 Выделение подматриц Выделение блоков матриц осуществляется индексацией при помощи двоеточия например >>X1 = X(2:3,2:3) Для выделения из матрицы столбца или строки (то есть массива, у которого один из размеров равен единице) следует в качестве одного из индексов использовать номер столбца или строки матрицы, а другой индекс заменить двоеточием без указания пределов. Например, запишите вторую строку матрицы X в вектор x >>x = X(2, :) При выделении блока до конца матрицы можно не указывать ее размеры, а использовать элемент end: >>x = X(2, 2:end)

№18 слайд
В MatLab парные квадратные
Содержание слайда: В MatLab парные квадратные скобки [ ] обозначают пустой массив, который, в частности, позволяет удалять строки и столбцы матрицы. Для удаления строки следует присвоить ей пустой массив, например, удаление первой строки квадратной матрицы М: >> М = [2 0 3; 1 1 4; 6 1 3]; >> M(1,:)=[]; Аналогичным образом удаляются и столбцы. Для удаления нескольких идущих подряд столбцов (или строк) им нужно присвоить пустой массив например, удаление второго и третьего столбца в массиве M >> М(:, 2:3) = []

№19 слайд
. Основные поэлементные
Содержание слайда: 4.9 Основные поэлементные действия над матрицами. Функции для обработки векторов и матриц 4.9 Основные поэлементные действия над матрицами. Функции для обработки векторов и матриц Базовые операции над векторами и матрицами – сложение, вычитание, умножение матрицы на число, умножение матрицы на матрицу – выполняются с применением обычных знаков арифметических операций, по правилам, предусмотренным в математике, дополнительно используют матричные арифметические операции представленные в таблице 4.3

№20 слайд
Если А и В массивы одинаковых
Содержание слайда: Если А и В — массивы одинаковых размеров, то допустимы следующие выражения Если А и В — массивы одинаковых размеров, то допустимы следующие выражения >>С = А+В; >>О = А-В; где элементы массивов С и D равны сумме или разности соответствующих элементов массивов А и В. Таким образом, эти операции выполняются поэлементно и порождают массивы тех же размеров, что и исходные операнды. В случае, когда один из операндов является скаляром: >> А+5 скаляр предварительно расширяется до массива размером с матричный операнд. Например, из скаляра 5 сначала генерируется матрица [5 5 5; 5 5 5], которая и складывается далее поэлементно с матрицей А.

№21 слайд
Для поэлементного
Содержание слайда: Для поэлементного перемножения и поэлементного деления массивов одинаковых размеров применяются операции, обозначаемые комбинациями двух символов: «.*» и «./». Для поэлементного перемножения и поэлементного деления массивов одинаковых размеров применяются операции, обозначаемые комбинациями двух символов: «.*» и «./». Кроме операции «. /», называемой операцией правого поэлементного деления, есть еще операция левого поэлементного деления «.\». При этом выражение А./В приводит к матрице с элементами A(k,m)/B(k,m), а выражение А .\ В приводит к матрице с элементами B(k,m)/A(k,m). Важно помнить, что при сложении или вычитании матрицы должны иметь одинаковые размеры, а при умножении матриц число столбцов первой матрицы должно совпадать с числом строк второй матрицы. Невыполнение этих условий вызывает появление в командном окне сообщения об ошибке.

№22 слайд
. Функции для формирования и
Содержание слайда: 4.9 Функции для формирования и обработки векторов и матриц 4.9 Функции для формирования и обработки векторов и матриц В MATLAB имеются ряд встроенных функций для создания векторов и матриц. С полным списком функций и примерами их использования можно познакомиться, выполнив из командной строки команду help elmat и на предыдущих слайдах. Количество элементов в одномерном массиве возвращает функция length: >> length( z ) Для того, чтобы узнать размеры двумерного массива и «геометрию» векторов (вектор-столбцы или вектор-строки), нужно использовать функцию size: >> size(X)

№23 слайд
Для нахождения числа
Содержание слайда: Для нахождения числа измерений массива используется функция ndims: Для нахождения числа измерений массива используется функция ndims: >> ndims(а) аналогом является использование >> length(size(M)) Количество измерений в массиве-всегда больше или равно 2 (всегда есть строка и столбец). Если после формирования двухмерного массива X потребуется, не изменяя элементов массива, изменить его размеры, можно воспользоваться функцией reshape( X, М, N ) где MxN — новые размеры массива х (М — число строк, N — число столбцов). Если количество элементов в массиве х не равно произведению М на N, то MATLAB выдаст сообщение об ошибке. >> reshape(X,2,3)

№24 слайд
Для нахождения векторного
Содержание слайда: Для нахождения векторного произведения предназначена специальная функция cross: Для нахождения векторного произведения предназначена специальная функция cross: >> u=[1 2 3]; >> v=[3 2 1]; >> cross(u,v) скалярное произведение векторов вычисляется с помощью функции общего назначения sum, вычисляющей сумму всех элементов векторов (для матриц эта функция вычисляет суммы для всех столбцов). >> sum(u)

№25 слайд
Для вычисления скалярного
Содержание слайда: Для вычисления скалярного произведения также можно использовать функцию dot: Для вычисления скалярного произведения также можно использовать функцию dot: >> dot(u,v) Длина вектора вычисляется с помощью функции norm: >> norm(u) Угол между векторами вычисляется на основе определения скалярного произведения, в соответствии с которым оно равно произведению длин векторов на косинус угла между ними. Отсюда находим выражение для вычисления угла между ранее заданными векторами u и v: >> phi=acos(dot(u,v)/(norm(u) *norm(v) )); Ранее рассмотренные операции отношения и логические операции выполняются в случае массивов поэлементно, поэтому размеры обеих операндов должны быть одинаковы.

№26 слайд
Функция prod вычисляет
Содержание слайда: Функция prod вычисляет произведение элементов столбцов матрицы. К примеру, для матрицы Функция prod вычисляет произведение элементов столбцов матрицы. К примеру, для матрицы >> А=[1 1 1;2 2 2;3 3 3] она возвращает следующий результат: >> prod(А) 6 6 6 Функции max и min ищут соответственно максимальный и минимальный элементы массивов. Для векторов они возвращают единственное числовое значение, а для матриц они порождают набор, соответственно, максимальных или минимальных элементов, вычисленных для каждого столбца, например: >>max (А) 3 3 3 >>[m,k]=max(a) - k содержит номер максимального элемента в векторе a >>[m,k]=min(a) - k содержит номер минимального элемента в векторе a

№27 слайд
Функция sort сортирует в
Содержание слайда: Функция sort сортирует в возрастающем порядке элементы одномерных массивов, а для матриц она производит такую сортировку для >>sort(a) – по возрастанию >> sort (-a) – по убыванию >>[a1,ind]=sort(a) - ind является вектором из целых чисел от 1 до length(a), который соответствует проделанным перестановкам. Функция mean вычисляет вычисление среднего арифметического элементов . К примеру, для матрицы А >> m=mean(a)

№28 слайд
Поменять местами строки
Содержание слайда: Поменять местами строки матрицы с ее столбцами можно операцией транспонирования, которая обозначается знаком (апостроф). Например, Поменять местами строки матрицы с ее столбцами можно операцией транспонирования, которая обозначается знаком (апостроф). Например, >> А=[1 1 1;2 2 2;3 3 3] 1 1 1 2 2 2 3 3 3 >> В=А’ 1 2 3 1 2 3 1 2 3 Для квадратных матриц на своих местах остаются элементы главной диагонали квадратной матрицы, а остальные «отражаются симметрично» относительно этой диагонали. Вектор-строки операцией транспонирования преобразуются в вектор-столбцы, и наоборот.

№29 слайд
Вычисление обратной матрицы
Содержание слайда: Вычисление обратной матрицы можно делать путем вызова функции Вычисление обратной матрицы можно делать путем вызова функции inv(имя матрицы) или возводя матрицу в степень -1. Вычисление определителя производиться путем вызова функции det(имя матрицы)

Скачать все slide презентации Программирование на языке MATLAB. Работа с массивами данных одним архивом: