Материал: MATLAB. Довідник для користувача

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Двойной щелчок по любому выделенному файлу откроет его содержание в соответствующем окне Редактора/Отладчика. В нижней части ОПТК (см. рис. 6) показана часть справки (help) для выделенного файла.

Изменение текущей директории и просмотр ее содержания в ОПТК. Для изменения теку-

щей директории из ОПТК можно воспользоваться полемCurrent Directory этого окна, совершенно аналогично тому, как это было описано выше.

Эквивалентные функции ! Команда dir выводит в командное окно все содержимое текущей директории или любой другой директории, заданной как аргумент функцииdir. Команда what действует аналогично, но выводит только те файлы, которые относятся к системе MATLAB. Команда which FileName, где FileName – имя файла, выводит путь доступа к данному файлу.

ОПТК позволяет также произвести любые добавление директорий к путям доступа системы MATLAB, а также создавать, копировать, переименовывать директории и т.д. (см. Руководство Пользователя).

Поиск и замена содержимого файлов. Из ОПТК можно осуществить поиск любой заданной строки символов в содержании файла. Если же файл открыт в окне Редактора/Отладчика, то можно также и заменить заданную строку на другую.

Поиск заданной строки в пределах файла (файлов). Для поиска заданной строки следует:

1. Щелкнуть по кнопке инструментальной панели ОПТК (рис. 6). Появится следующее диалоговое окно «Найти и Заменить» (Find & Replace):

2. Для нахождения всех случаев наличия требуемой строки в файлах следует:

-Впечатать строку в поле Find what.

-Выбрать директорию поиска в поле Look in, или просто непосредственно напечатать имя директории в данном поле.

-Ограничить поиск выбором опций Match case (Учитывать регистр) и Whole word (Слово целиком).

-Выбрать опцию Subdirectories (Поддиректории), если вы хотите также просматривать и файлы в поддиректориях.

3. Щелкнуть по кнопке Find.

21

Результат поиска при этом будет отображен в нижней части далогового окна Find & Replace как это показано на следующем рисунке. Этот результат включает название файла, номер соответствующей строки и содержимое данной строки.

Двойной щелчок по файлу приведет к его открытию

Кнопка закрытия окна Результаты предыдущих операций поиска результатов поиска доступны через эти ярлыки

4. Для открытия любого из М-файлов в списке результатов поиска нужно выполнить одно из нижеприведенных действий:

-Дважды щелкнуть по файлу.

-Выделить файл и нажать клавишу Enter.

-Щелкнуть правой кнопкой по файлу и выбрать опцию Open из контекстного меню.

Соответсвующий файл будет открыт в Редакторе/Отладчике, причем он будет «прокручен» до той строки, которая содержит результат поиска.

5. Если вы до того проводили другой поиск (поиски), то все результаты предыдущих поисков будут доступны через «ярлыки» внизу текущего списка результатов поиска (см. рис.).

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

1.Открыть М-файл в окне Редактора/Отладчика системы MATLAB Editor. При этом нужно убедиться, что данный файл является текущим в окне Редактора/Отладчика.

2.Выбрать в поле Look in в диалоговом окне Find & Replace имя того файла, в котором вы хотите заменить строку. Кнопка Replace (Заменить) при этом активизируется.

3.Впечатать в поле Replace with текст, на который вы хотите заменить выбранную строку.

22

4.Щелкнуть Replace для замены строки символов в выбранной строке файла, или же щелкнуть по кнопке Replace All, если вы хотите заменить все найденные совпадения в текущем файле.

Текст будет заменен.

5.Для сохранения изменений нужно выбрать опцию Save из меню File в окне Редактора/ Отладчика.

Дуальность (двойственность) команд и функций

Команды системы MATLAB это выражения вида load или help. Многие команды допускают модификацию за счет определения операндов, например:

load August17.dat help magic type rank.

Альтернативный способ ввода подобных операндов в команды состоит в представлении их в виде символьных строк как аргументы функций.

load('August17.dat')

help('magic')

type('rank')

В этом состоит дуальность команд/функций системы MATLAB. Любая команда в форме

command argument

может также быть записана в функциональной форме

command('argument')

Преимущество функциональной формы записи проявляется когда символьный аргумент формируется машиной программно, из ряда разных кусков. Например, следующий пример загружает в рабочее пространство переменные 31из-го МАТ-файла под названиями

August1.dat, August2.dat, и т.д.

for d = 1:31

s = ['August' int2str(d) '.dat'] load(s)

end

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

23

Действия над матрицами в системе MATLAB

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

Формирование матриц в системе MATLAB

В дальнейшем для удобства будем считать термины матрица и массив эквивалентными. Более точно, матрица есть двумерный прямоугольный массив из действительных или комплексных чисел, который характеризует некоторое линейное преобразование. В MATLAB-е имеется множество встроенных функций, которые формируют (генерируют) различные типы матриц. Воспользуемся двумя из них для формирования пары матриц размера3-by-3, которые будут использоваться в дальнейшем в качестве примеров. Первый пример представляет симметричную матрицу Паскаля. Если ввести команду

A = pascal (3)

то система ответит

A =

1

1

1

1

2

3

1

3

6

Второй пример представляет несимметричную матрицу, известную под названием «волшеб-

ный квадрат» (magic square):

B = magic(3)

B =

8

1

6

3

5

7

4

9

2

Еще один пример использования стандартной матрицы представляет собой прямоугольную 3х2 матрицу случайных целых чисел:

C = fix(10*rand(3,2))

C =

 

9

4

2

8

6

7.

Здесь функция rand(3,2) генерирует 3х2 матрицу равномерно распределенных случайных чисел в диапазоне от 0 до 1, а функция fix осуществляет округление путем отбрасывания дробной части.

Вектор-столбец есть матрица размера mх1 matrix, вектор-строкаматрица размера 1х n , а скаляр есть матрица размера 1х1. Объединение отдельных чисел в массивы осуществляется

24

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

u = [3; 1; 4] v = [2 0 -1] s = 7

дают вектор-столбец u , вектор-строку v и скаляр s (эти векторы также будут использоваться в дальнейшем при решении примеров):

u =

3

1

4

v =

2 0 –1

s =

7

Сложение и вычитание матриц

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

Error using ==> +

Matrix dimensions must agree.

Векторное произведение и транспонирование матриц

Вектор-строка и вектор-столбец могут быть перемножены в любом порядке(оператор умножения * расположен на верхнем регистре клавиши с цифрой8). Результатом будет или скаляр (внутреннее произведение) или матрица (внешнее произведение). Для приведенных выше векторов v и u имеем :

x = v*u

x =

2

X = u*v

X =

6

0

-3

2

0

-1

8

0

-4

25