- •Порядок выполнения.
- •1.Работа с системой matlab.
- •1.1. Работа с окнами системы matlab.
- •Упражнение 1. Работа с окнами системы matlab.
- •1.3.Строка главного меню.
- •1.4.Вычисления в матлаб.
- •Примеры. Вычислений в матлаб.
- •1. Операция сложение.
- •2. Операции возведения в степень и извлечения корня n-ой степени.
- •Пример. Точка с запятой.
- •1.5.Переменные рабочего пространства (Workspace).
- •Пример. Переменные рабочего пространства.
- •1.6.Форматы вывода результата вычислений.
- •Упражнение 2. Форматы вывода результата вычислений.
- •1.7.Символьные переменные. Работа с алгебраическими выражениями.
- •Пример. Работа с алгебраическими выражениями, с символьными переменными.
- •Пример. Работа с алгебраическими выражениями. Подстановка чисел.
- •Пример. Упрощение алгебраических выражений.
- •2.Массивы в matlab.
- •2.1.Матричное представление данных
- •Примеры. Задание матриц.
- •Упражнение 3.
- •Примеры. N-мерные массивы
- •3.Различные способы задания массивов.
- •3.1.Матрицы
- •Примеры. Задание матрицы в matlab:
- •3.2.Векторы
- •Упражнение 4.. Различные способы задания векторов.
- •Сцепление векторов.
- •4.Арифметические операции над массивами
- •4.1.Основные математические функции
- •4.2.Операции над векторами Сложение и вычитание векторов.
- •Упражнение 5.
- •Умножение и деление вектора на число.
- •Умножение матриц
- •Свойства операций над матрицами.
- •Упражнение 8.
- •Упражнение 9.
- •5.2.Обращение к элементам матрицы. Примеры.
- •Обращение к строкам и столбцам матрицы через двоеточие.
- •Упражнение 10. Обращение к элементам массивов.
- •6.Задание для самостоятельной работы:
- •Темы для презентаций:
- •Контрольные вопросы:
- •7.Список рекомендуемой литературы
Примеры. Задание матриц.
1. Для задания вектора - строки (т.е. матрицы размера ) используются квадратные скобки, в которых числовые данные отделяются друг от друга пробелами или запятыми:
>> str1 = [3 4 9 2]
str1 =
3 4 9 2
>> str2 = [5, 3, 3, 2]
str2 =
5 3 3 2
>>
2. Для задания вектор- столбца (т.е. матрицы размера ) используются квадратные скобки, в которых числовые данные отделяются друг от друга точкой с запятой:
>> st = [1.2; 5.3; 6.4]
a =
1.2000
5.3000
6.4000
>>
3. Комбинируя оба варианта разделителя, можно задать матрицу, число строк и столбцов которой больше одного (двумерный массив):
>> A=[1 2 3 4;0 -1 -3 -2]
A =
1 2 3 4
0 -1 -3 -2
4. Любое число рассматривается в MATLAB как матрица размера .
>> n=3
n = 3
>> m=[3]
m = 3
5.Снова просмотрите каждую переменную в окне Workspace.
>> whos str1 str2 st A n m
Name Size Bytes Class Attributes
A 2x4 64 double
m 1x1 8 double
n 1x1 8 double
st 3x1 24 double
str1 1x4 32 double
str2 1x4 32 double
6. Узнайте n-мерность (измерение) и размерность переменных str1, str2, st, A, n, m, при помощи встроенных функций ndims и size, сделайте выводы:
>> ndims(A)
ans =
2
>> size(A)
ans =
2 4
Матрица A хранится в двумерном (ndims(A)) массиве размерностью (size(A)) 3х1 (три на один): вектор-столбец A состоит из трех строк и одного столбца.
Упражнение 3.
Проделайте аналогичные операции для остальных переменных str1, str2, st, n, m,. Сделайте выводы.
Итак, важно понять, что число, вектор-строка, вектор-столбец или матрица являются математическими объектами, которые представляются двумерными массивами.
2.2.N-мерные массивы данных
Приведем примеры массивов другой размерности.
Примеры. N-мерные массивы
Команда rand(k,l,n,m) позволяет создавать матрицу с произвольными числами (от 0 до 1) размерности k x l (k строк, l столбцов), n, m - добавляют единицы измерения, например
>> E1=rand(1,4) %создаем матрицу размерности 1x4
E1 = 0.7922 0.9595 0.6557 0.0357
>> ndims(E1) % увидим, что E1 - двумерный массив
ans =
2
>> E2=rand(size(st)) %создаем матрицу той же размерности, что и st, 3x1
E2 =
0.9340
0.6787
0.7577
>> ndims(E2) % убедимся: E2 - двумерный массив
ans = 2
Заметим следующее:
>> n1=size(E1)
n1 = 1 4
>> size(n1) % это тоже, что и size(size(E1))
ans =
1 2
>> length(n1)
ans = 2
>> length(size(E1))
ans =
2
>> ndims(E1)
ans =
2
length() – возвращает наибольшее из чисел размерности-size массива
То есть
ndims(E1)=length(size(E1))
Проверьте этот факт для остальных переменных рабочего пространства.
Посмотрим, как это работает для массивов размерности 3 и 4.
>> E3=rand(3,2,2) % создадим трехмерный массив
E3(:,:,1) =
0.0046 0.8687
0.7749 0.0844
0.8173 0.3998
E3(:,:,2) =
0.2599 0.9106
0.8001 0.1818
0.4314 0.2638
Образно говоря, мы получили «многоэтажный дом». Теперь, чтобы обратиться к элементам трехмерного массива, нужно задать номера строки, столбца и «этажа». В данном массиве два этажа, «в каждом этаже» по три строки и по два столбца.
>> ndims(E3)
ans = 3
E3(:,:,1) – выводит первую матрицу 3х2, E3(:,:,2) –выводит вторую матрицу 3х2
Роль символа двоеточия «:» интуитивно понятен, позже будет объяснение и плотная работа с этим символом.
>> E4=rand(1,2,3,2) %создадим четырехмерный массив
E4(:,:,1,1) = 0.3692 0.1112
E4(:,:,2,1) = 0.7803 0.3897
E4(:,:,3,1) = 0.2417 0.4039
E4(:,:,1,2) = 0.0965 0.1320
E4(:,:,2,2) = 0.9421 0.9561
E4(:,:,3,2) = 0.5752 0.0598
Мы получили «улицу» из «одинаково этажных домов». Теперь, чтобы обратиться к элементам четырехмерного массива, нужно задать номера строки, столбца, «этажа» и «номер дома». В данном массиве два дома, по три этажа в каждом, на каждом «этаже» одна строка и три столбца.
E4(:,:,3,1) - выводит третий массив первого уровня, E4(:,:,2,2) – выводит второй массив второго уровня.
>> ndims(E4)
ans = 4
И мы снова видим: ndims(A)=length(size(A))
>> n3=size(E3)
n3 = 3 2 2
>> length(n3)
ans =
3
>> n4=size(E4)
n4 = 3 2 2 2
>> length(n4)
ans = 4
Итак, все данные в MATLAB представляются в виде массивов. Очень важно правильно понять, как устроены массивы. Без этого невозможна эффективная работа в MATLAB, в частности построение графиков, решение задач линейной алгебры, обработки данных, статистики и многих других.
Массив - упорядоченная, пронумерованная совокупность однородных данных. У массива должно быть имя. Массивы различаются по числу размерностей или измерений. Доступ к элементам осуществляется при помощи индекса.
Еще раз: число, вектор-строка, вектор-столбец или матрица являются математическими объектами, массивы - способы хранения этих объектов в компьютере. Всюду дальше чаще будут использоваться слова «вектор» и «матрица», так как для нас больший интерес представляет сам объект, чем способ его хранения. Слово «массив» будет использоваться и для вектора, и для матрицы, когда их различие будет несущественным.
