"MATLAB 7 (Наиболее полное руководство в подлиннике)" - читать интересную книгу автора (Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н.)

Часть!. Основы работы в MATLAB
Просмотрите появившуюся в окне Workspace информацию. Векторы a , Ь и с хранятся в двумерных массивах. В столбце Size указано 3x1, т. е. массивы имеют по три строки и одному столбцу, каждый из них занимает 24 байта памяти (столбец Bytes).
Аналогичные сведения можно получить при помощи встроенных функций
ndims И size:
» па = ndims[а) па =
2 » sa = size(a) sa щ
3 1
На первый взгляд может показаться, что ndims и size лишь дублируют информацию окна Workspace. Однако они позволяют не только вывести характеристики массивов в командное окно, но и записать их в переменные для дальней [пего использования, что существенно при создании собственных приложений в MATLAB.
В главе I было замечено, что числа в MATLAB представляются в виде двумерного массива один на один. Теперь должно быть понятно, почему при сложении векторов используется тот же знак плюс, что и для сложения чисел. Естественно, для нахождения разности векторов следует применять знак минус, с умножением дело обстоит несколько сложнее.
^ Примечание ^
Если размеры векторов, к которым применяется сложение или вычитание, не совпадают, то выдается сообщение об ошибке.
Особенность MATLAB представлять все данные в виде массивов является очень удобной. Пусть, например, требуется вычислить значение функции sin сразу для всех элементов вектора с (который хранится в массиве с) и записать результат в вектор d. Используйте следующий оператор присваивания:
» d = sin(с)
d = 0.8546 0.5010 0.5712
Глава 2. Работа с массивами
53
Итак, встроенные в MATLAB элементарные функции приспосабливаются к виду аргументов; если аргумент является массивом, то результат функции будет массивом того же размера, но с элементами, равными значению функции от соответствующих элементов исходного массива. Убедитесь в этом еще на одном примере. Если необходимо найти квадратный корень из элементов вектора d со знаком минус, то достаточно записать:
» sqrt(-d)
ans = О + 0.9244i О + 0.70781 0 + 0.7558i
Оператор присваивания не использовался, поэтому MATLAB записала ответ в стандартную переменную ans.
Ввод вектор-строки осуществляется в квадратных скобках, однако в отличие от вектор-столбца элементы следует разделять пробелами или запятыми. Операции сложения, вычитания и вычисление элементарных функций от вектор-строк производятся так же, как и с вектор-столбцами, в результате получается вектор-строка того же размера, что и исходные.
» si = [3 4 9 2]
si в
3 4 9 2
» s2 = [5 3 3 2]
s2 =
5 3 3 2
» s3 = si + s2
S3 =
8 7 12 4
» s4 - log(s3)
34 =
2.0794 1.9459 2.4849 1.3863
Выясните, в каких массивах хранятся вектор-строки. Для этого можно использовать окно Workspace или функции ndims, size и команду whos:
» whos
Name Size
si 1x4
s2 1x4
s3 1x4
s4 1x4
Bytes Class
32 double array
32 double array
32 double array
32 double array
54
Часть I. Основы работы в MA TLAB
Итак, вектор-строки з.1, s2, аЗ и s4 содержатся в двумерных массивах размерности один на четыре. Для определения длины вектор-столбцов или вектор-строк служит встроенная функция length:
» L = length(si) L =
4