Искусственные нейронные сети




Скачать 1.3 Mb.
страница 3/17
Дата 27.09.2016
Размер 1.3 Mb.
1   2   3   4   5   6   7   8   9   ...   17

Эта конструкция выполняет все списки инструкций. Если в каком-то списке до оператора catch появляется ошибка, то выводится сообщение об ошибке, но системная переменная последней ошибки lasterr не меняется. В выражениях после catch сообщение об ошибке не выводится.


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

Для остановки программы используется оператор pause. Он используется в следующих формах:



  1. pause – останавливает вычисления до нажатия любой клавиши;

  2. pause(N) – останавливает вычисления на N секунд;

  3. pause on – включает режим обработки пауз;

  4. pause off – выключает режим обработки пауз.

Практические задания

Задание 1. Разработать файл-сценарий для построения графика синусоиды линией красного цвета с выведенной масштабной сеткой в интервале [xmin, xmax].

1. Запустить редактор m-файлов и ввести следующую программу:



%Plot with color red

%Строит график синусоиды линией красного цвета

%с выведенной масштабной сеткой в интервале [xmin, xmax]

x=xmin:0.1:xmax;

plot(x,sin(x),'r')

grid on

2. Сохранить файл под именем «pcr.m».

3. Выполнить в командном окне MATLAB следующую команду:


>> help pcr

Ha экран выведется информация, находящаяся в основном и дополнительном комментариях файла:



Plot with color red

Строит график синусоиды линией красного цвета

с выведенной масштабной сеткой в интервале [xmin, xmax]

>>

4. Затем запустить сценарий на выполнение:



>> pcr

??? Undefined function or variable 'xmin'.

Error in ==> C:\MATLAB6p1\work\pcr.m

On line 4 ==> x=xmin:0.1:xmax;

На экран выводится сообщение об ошибке, так как сценарий использует глобальные переменные, которые не определены. Для успешного выполнения примера необходимо задать следующие действия:



  1. Определить переменные xmin и xmax

>> xmin=-10;

>> xmax = 10;

  1. Запустить сценарий на выполнение

>> pcr

Задание 2. Разработать файл-функцию для решения предыдущей задачи, выполнив следующие действия:

1. Запустить редактор m-файлов и ввести следующую программу:



%Plot with color red

%Строит график синусоиды линией красного цвета

%с выведенной масштабной сеткой в интервале [xmin, xmax]

function x=fun(xmin,xmax)

x=xmin:0.1:xmax;

plot(x,sin(x),'r')

grid on

2. Сохранить файл под именем «fun.m».

3. Выполнить в командном окне MATLAB следующую команду:


fun(-10,10);

Обратите внимание на то, что xmin и xmax передаются как параметры и объявлять глобальные переменные не требуется.



Задание 3. Разработать файл-сценарий для решения предыдущей задачи с возможностью ввода значений пользователем, выполнив следующие действия:

1.Запустить редактор m-файлов и ввести следующую программу:



%Plot with color red

%Строит график синусоиды линией красного цвета

%с выведенной масштабной сеткой в интервале [xmin, xmax]

disp('введите xmin и xmax ');

xmin=input('xmin = ');

xmax=input('xmax = ');

x=xmin:0.1:xmax;

plot(x,sin(x),'r')

grid on

2.Сохранить файл под именем «pcrdialog.m».

3.Выполнить в командном окне MATLAB следующие команды:


>> pcrdialog

Обратите внимание на то, что xmin и xmax объявляются в теле сценария, поэтому объявлять глобальные переменные не требуется.


Лабораторная работа № 2

Массивы, структуры, ячейки
и классы системы MATLAB


Цель работы: изучение принципов работы с матрицами, структурами, ячейками и классами в MATLAB, а также приобретение навыков их применения для построения моделей нейронных сетей и их исследования.

Теоретические сведения

Векторы, матрицы и многомерные массивы

В системе MATLAB любые данные представляются только в виде массивов: одномерных (векторов), двумерных (матриц) и многомерных любой размерности.

Система MATLAB выполняет сложные и трудоемкие операции над векторами и матрицами даже в режиме прямых вычислений без какого-либо программирования. Поддерживается множество операций над матрицами, таких как:


  1. Создание матриц с заданными свойствами: ones, zeros, rand;

  2. Конкатенация матриц: cat (dim, А, В), cat (dim, A1, A2, A3, ...);

  3. Перестановка элементов: fliplr, flipud, perms;

  4. Вычисление произведений и суммирование: prod, cumprod, sum;

  5. Поворот: rot 90(A), rot 90(A,k);

  6. Выделение треугольных частей матриц: tril (x), tril (x,k), triu ;

  7. Вычисление сопровождающей матрицы: compan;

  8. Матричные операции векторной алгебры: cand, det, rank, norm;

  9. Операции с многомерными массивами: +, -, *, .*, /, ./, ^, .^ .

Интересно отметить, что даже обычные числа и переменные в MATLAB рассматриваются как матрицы размера 1х1, что дает единообразные формы и методы проведения операций над обычными числами и массивами. Данная операция называется векторизацией. Векторизация обеспечивает и упрощение записи операций, и существенное повышение скорости их выполнения. Это также означает, что большинство функций может работать с аргументами в виде векторов и матриц.

Структуры

Массив записей – это новый тип массива, в котором разрешается накапливать в виде записей разнородные данные. Отличительная особенность такого массива – наличие именованных полей.

MATLAB поддерживает следующие функции при работе с массивами записей:



Функция

Описание

struct

Создать массив записей

fieldnames

Получить имена полей

getfield

Получить содержимое поля

setfield

Установить содержимое поля

rmfield

Удалить поле

isfield

Истинно, если это поле массива записей

isstruct

Истинно, если это массив записей

Пользователь может расширить состав функций, создавая специальные М-файлы для обработки конкретных данных.

Определение структуры

Структура – это массив записей с именованными полями, предназначенными для хранения данных; причем поле может содержать данные любого типа: векторы, матрицы, массивы и структуры.

Структуру можно построить двумя способами:

а) используя операторы присваивания;

б) используя функцию struct.

Для того чтобы сформировать простейшую структуру размера 1х1, необходимо присвоить данные соответствующим полям. Система MATLAB автоматически формирует структуру по мере ее заполнения.

Функция struct имеет следующий синтаксис:

str_array=struct('<�имя_поля1>’,'<�значение1>','<�имя_поля2>','<�значение2>',...).

Используя индексацию, можно легко определить значение любого поля или элемента структуры. Точно также можно присвоить значение любому полю или элементу поля. Чтобы обратиться к некоторому полю, необходимо ввести точку (.) после имени структуры, за которым должно следовать имя поля.

Непосредственная индексация – это, как правило, наиболее эффективный способ определить или присвоить значение полю записи. Однако если использовалась функция fieldnames и известно имя поля, то можно воспользоваться функциями setfield и getfield.

Функция getfield позволяет определить значение поля или элемента поля:



f = getfield(array, {array_index}, 'field', {field_index})

где аргументы array_index и field_index задают индексы для структуры и поля; они не являются обязательными для структуры размера 1х1. Результат применения функции getfield соответствует элементу следующей структуры



f = array(array_index).field(field_index);

По аналогии функция setfield позволяет присваивать значения полям, используя обращение следующего вида:


f = setfield(array, {array_index}, 'field', {field_index}, value)
Выполнение операций с полями и элементами полей абсолютно аналогично операциям с элементами обычного числового массива. В обоих случаях надо использовать индексные выражения.

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


1   2   3   4   5   6   7   8   9   ...   17


База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница