Как сделать листинг программы в матлабе

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

Работа с М-книгой большого объема становится проще, если предусмотреть разбиение ее на разделы (Calc Zone). Выделенный фрагмент книги выносится в отдельный раздел выбором пункта Define Calc Zone меню Notebook. Выполнение команд всех ячеек или групп ячеек ввода раздела производится при помощи пункта Evaluate Calc Zone, а сразу всей М-книги — Evaluate M- Book. Ошибка в командах ячеек ввода, возникающая в процессе выполнения всей М-книги, не приводит к останову вычислений. Для остановки по ошибке следует установить флаг Stop evaluating on error в диалоговом окне Notebook Options, появляющемся при выборе пункта Notebook Options в меню Notebook.

Переменные различных разделов являются общими, к примеру, если ячейке одного раздела переменной х было присвоено некоторое значение, то х можно использовать и в остальных разделах. Переменные М-книги являются глобальными. Более того, если в редакторе Word открыто несколько М-книг, то их переменные определены в одной рабочей среде.

Создание GUI в MATLAB

Открытие М-книги в Word не приводит к автоматическому выполнению содержимого ячеек ввода. Часто требуется инициализировать некоторые переменные без вмешательства пользователя. Команды ячеек, имеющих стиль AutoInit, запускаются сразу после открытия М-книги. Полезно включить в первую такую ячейку clear для очистки рабочей среды. Пункт Define Autoinit Cell меню Notebook предназначен для определения стиля AutoInit ячейки ввода.

Содержимое ячейки или группы можно выполнить циклически, для чего следует выделить нужные ячейки или сделать текущей группу и выбрать в меню Notebook пункт Evaluate Loop, или нажать +. Появившееся диалоговое окно Evaluate Loop позволяет установить число повторов в поле Stop After и выбрать скорость кнопками Slower и Faster.

2.9.4. Управление М-книгой

Разработчик М-книги имеет возможность изменять вид ячеек вывода как с текстовой, так и с графической информацией. Меню Notebook содержит пункт Notebook Options, выбор которого приводит к появлению одноименного диалогового окна, изображенного на рис. 10. Панель Numeric Format содержит раскрывающийся список для выбора формата и переключатели Loose и Compact для добавления промежуточных пустых строк при отображении числовых значений в ячейках вывода.

Рис. 10. Диалоговое окно Notebook Options

Панель Figure Options предназначена для управления видом графических результатов, помещаемых в ячейки вывода. Установленный флаг Embed Figures in M-book обеспечивает размещение графиков в ячейках вывода, а сброшенный — приводит к визуализации результатов в отдельных графических окнах. Размер и единицы измерения графиков, помещаемых в ячейки ввода, определяются в строках Width и Height и раскрывающемся списке Units.

Читайте также:
Убрать из школьной программы

MATLAB 03 Написание программ

Ячейки вывода с окончательными результатами преобразовываются в текст выбором пункта Undefine Cells меню Notebook. Пользователь может по своему усмотрению изменить стили шаблона m-book.dot средствами Word точно так же, как и любого другого шаблона. Переопределение стилей производится в диалоговом окне Стиль, которое появляется при переходе к пункту Стиль меню Формат.

Квадратные скобки, ограничивающие ячейки и группы ячеек, пропадают при выборе пункта Hide Cell Markers меню Notebook. Пункт Show Cell Markers служит для отображения скобок в документе. При печати М-книги скобки не выводятся.

Интегрирование MatLab и Excel позволяет пользователю Excel обращаться к многочисленным функциям MatLab для обработки данных, различных вычислений и визуализации результата. Надстройка excllink.xla реализует данное расширение возможностей Excel. Для связи MatLab и Excel определены специальные функции.

2.9.6. Конфигурирование Excel

Перед тем как настраивать Excel на совместную работу с MatLab, следует убедиться, что Excel Link входит в установленную версию MatLab. В подкаталоге exlmk основного каталога MatLab или подкаталога toolbox должен находиться файл с надстройкой excllink.xla. Запустите Excel и в меню Сервис выберите пункт Надстройки. Открывается диалоговое окно (рис. 11), содержащее информацию о доступных в данный момент надстройках.

Рис. 11. Диалоговое окно Надстройки

Используя кнопку Обзор, укажите путь к файлу excllink.xla (Если MatLab с ToolBox ставился по умолчанию, то файл находится по адресу: C:MATLAB6p5toolboxexlink). В списке надстроек диалогового окна появилась строка Excel Link 2,0 for use with MatLab с установленным флагом. Нажмите ОК, требуемая надстройка добавлена в Excel. Обратите внимание, что в Excel присутствует панель инструментов Excel Link, содержащая три кнопки: putmatrix, getmatrix, evalstring. Данные кнопки реализуют основные действия, требуемые для осуществления взаимосвязи между Excel и MatLab — обмен матричными данными, и выполнение команд MatLab из среды Excel.

При повторных запусках Excel надстройка excllink.xla подключается автоматически. Избежать подключения надстройки можно сбросом соответствующего флага в диалоговом окне Надстройки.

Согласованная работа Excel и MatLab требует еще нескольких установок которые приняты в Excel по умолчанию (но могут быть изменены). В меню Сервис перейдите к пункту Параметры, открывается диалоговое окно Параметры. Выберите вкладку Общие и убедитесь, что флаг Стиль ссылок R1C1 выключен, т. е. ячейки нумеруются A1, А2 и т. д. На вкладке Правка должен быть установлен флаг Переход к другой ячейке после ввода.

2.9.7. Обмен данными между MatLab и Excel

Запустите Excel, проверьте, что проделаны все необходимые настройки так, как описано в предыдущем разделе (MatLab должен быть закрыт). Введите в ячейки с A1 по C3 матрицу (рис. 12), для отделения десятичных знаков используйте запятую в соответствии с требованиями Excel.

Читайте также:
Почему все долго загружается программы

Рис. 12. Ввод матрицы в ячейки

Выделите на листе данные ячейки и нажмите кнопку putmatrix, появляется окно Excel с предупреждением о том, что MatLab не запущен. Нажмите ОК, дождитесь открытия MatLab.

Замечание

Открывается только командное окно MatLab вне зависимости от того, какая установлена версия (5.3 или 6.x).

Появляется диалоговое окно Excel со строкой ввода, предназначенной для определения имени переменной рабочей среды MatLab, в которую следует экспортировать данные из выделенных ячеек Excel. Введите, к примеру, M и закройте окно при помощи кнопки ОК. Перейдите к командному окну MatLab и убедитесь, что в рабочей среде создалась переменная M, содержащая массив три на три:

5.5000 1.6000 -0.8000

2.3000 6.1000 0.2000

0.1000 0.4000 3.9000

Проделайте некоторые операции в MatLab с матрицей М, например, обратите ее:

Замечание

Вызов inv для обращения матрицы, как и любой другой команды MatLab можно осуществить прямо из Excel. Нажатие на кнопку evalstring, расположенную на панели Excel Link, приводит к появлению диалогового окна, в строке ввода которого следует набрать команду MatLab IM=inv(M). Результат аналогичен полученному при выполнении команды в среде MatLab.

Вернитесь в Excel, сделайте текущей ячейку А5 и нажмите кнопку getmatrix. Появляется диалоговое окно со строкой ввода, в которой требуется ввести имя переменной, импортируемой в Excel. В данном случае такой переменной является IM. Нажмите ОК, в ячейки с A5 по C7 введены элементы обратной матрицы.

MatLab производит вычисления с двойной точностью. Для отображения всех значащих цифр в ячейках листа Excel выделите нужные ячейки и перейдите в меню Формат к пункту Ячейки. В открывшемся диалоговом окне Формат ячеек выберите Числовой в списке Формат ячеек и установите 15 в строке ввода Число десятичных знаков.

Итак, для экспорта матрицы в MatLab следует выделить подходящие ячейки листа Excel, а для импорта достаточно указать одну ячейку, которая будет являться верхним левым элементом импортируемого массива. Остальные элементы запишутся в ячейки листа согласно размерам массива, переписывая содержащиеся в них данные, поэтому следует соблюдать осторожность при импорте массивов.

Вышеописанный подход является самым простым способом обмена информацией между приложениями — исходные данные содержатся в Excel, затем экспортируются в MatLab, обрабатываются там некоторым образом и результат импортируется в Excel. Пользователь переносит данные при помощи кнопок панели инструментов Excel Link. Информация может быть представлена в виде матрицы, т. е. прямоугольной или квадратной области рабочего листа. Ячейки, расположенные в строку или столбец, экспортируются, соответственно, в вектор-строки и вектор-столбцы MatLab. Аналогично происходит и импорт вектор-строк и вектор-столбцов в Excel.

Наряду с числовыми массивами, объектами, подлежащими обмену между MatLab и Excel, могут быть текстовые данные. Введите в ячейки некоторый текст (рис. 13).

Рис. 13. Ввод в ячейки текстовой информации

Читайте также:
Программа wow как работать

Выделите ячейки с A1 по С4 и экспортируйте данные в переменную mounth рабочей среды MatLab при помощи кнопки putmatrix. Выясните тип переменной mounth, используя команду whos:

>> whos mounthName Size Bytes Class

mounth 4×3 1252 cell array

Grand total is 86 elements using 1252 bytes

Оказывается, текстовая информация из ячеек Excel записывается в массив ячеек (cell array) MatLab. Экспорт в MatLab текста только одной ячейки рабочего листа Excel приводит к помещению ее содержимого в символьный массив типа char array.

Источник: megalektsii.ru

Иллюстрированный самоучитель по MatLab

Команды отладки программ. Вывод листинга m-файла с пронумерованными строками.

Для перехода в командный режим отладки в m-файл следует включить команду keyboard. Ее можно запустить и в командном режиме:

switch var case < 1.2.3 >
disp( ‘Первый квартал’ )
disp( ‘Второй квартал’ )
disp( ‘Третий квартал’ )
disp( ‘Четвертый квартал’ )
disp( ‘Ошибка в задании’ )

Признаком перехода в режим отладки становится появление комбинированного символа К>>. Он меняется на символ >> после возврата командой return в обычный командный режим работы. То же самое происходит при использовании команды dbquit, также прекращающей режим отладки, но прекращающей и выполнение т-файла. Если команда return находится в самом m-файле, она прекратит его выполнение и передаст управление туда, откуда был вызван этот файл.

Вывод листинга m-файла с пронумерованными строками

Один из способов отладки m-файлов – размещение в них точек прерывания. Однако в командном режиме нельзя задать установку таких точек с помощью курсора мыши (как в отладчике Windows). Поэтому необходимо иметь листинг программы с пронумерованными строками. Он создается с помощью команды dbtype.

Источник: samoychiteli.ru

Листинг программы (matlab)

%% Инициализация весов. s1- количество нейронов 1-го слоя = 735. Размер матрицы весов w12 10×735.

%% Обучение сети с использованием функции present

[w12, w21] = present(P, w12, w21, rho, psi, i);

files = [’44.jpg’; ’88.jpg’];

[p, r, k(i)] = recognition(files(i,:), w12);

figure(‘Name’, ‘Digits recognition’, ‘NumberTitle’, ‘off’);

subplot(2, 1, 1);imshow(P); title(‘Pattern image’)

subplot(2, 1, 2);imshow(R); title(‘Recognized image’)

function [pat, r, k] = recognition(file, w12)

function [w12, w21] = present(P, w12, w21, rho, psi, i)

% Шаг 1.Поочередно присваивается переменной а1 каждый обучающий паттерн.

% Шаг 2. Отклик 2-го шара

[mxn1,k] = max(n1); %Максимальное значение n1 и его номер

a2 = zeros(s2,1); %Заполнение нулями а1

a2(k) = 1; %Присвоение 1 выигравшему нейрону

% Шаг 3. Вычисление ожидания со 2-го к 1-му шару. Выбираются веса выигравшего нейрона

% Шаг 4. Настройка выхода 1-го шара с учетом ожидания

% Шаг 5. Направление подсистемы, проверка на резонанс

% Шаг 6. Проверка на резонанс, подавляя текущий отклик если нету

% Если все прототипы использованы, добавить еще один

error(‘More than four prototypes needed’)

w21 = [w21 ones(s1,1)];

w12 = [w12; psi*ones(1,s1)/(psi+s1-1)];

% Шаг 7, Обновить строку k матрицы w12

% Шаг 8, Обновить колонку k матрицы w21

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru