"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] 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 |
|
|