Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Листинг 9. Использование графических команд MatLab




pie3(x)

HT=title('Пропорции продуктов в смеси');

set(HT, 'FontSize', 16)

% Ячейка вывода рисунка

[здесь размещается рис.9]

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

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

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

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

Содержимое ячейки или группы можно выполнить циклически, для чего следует выделить нужные ячейки или сделать текущей группу и выбрать в меню Notebook пункт Evaluate Loop, или нажать <Alt>+<L>. Появившееся диалоговое окно 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.

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

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

2.9.5. Excel Link

Интегрирование 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:\MATLAB6p5\toolbox\exlink). В списке надстроек диалогового окна появилась строка 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, содержащая массив три на три:

>> M

M =

5.5000 1.6000 -0.8000

2.3000 6.1000 0.2000

0.1000 0.4000 3.9000

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

>> IM = inv(M);

Замечание

Вызов 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. Ввод в ячейки текстовой информации

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

>> whos mounthName Size Bytes Class

mounth 4x3 1252 cell array

Grand total is 86 elements using 1252 bytes

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

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...