Листинг 6. Функция перевода секунд в часы, минуты и секунды I
function [hour, minute, second] = hms(sec) hour = floor(sec/3600); minute = floor((sec-hour*3600)/60); second = sec-hour*3600-minute*60; При вызове файл-функций с несколькими выходными аргументами результат следует записывать в вектор соответствующей длины: >>[Н, М, S] = hms (10000) Н = М = S = Если список выходных аргументов пуст, т. е. заголовок выглядит так: function myfun(a,b) или function []=myfun(a,b), то файл-функция не будет возвращать никаких значений. Такие функции тоже иногда оказываются полезными. Предусмотрена также возможность создавать файл-функции, которые сами приспосабливаются к числу входных и выходных аргументов. Большинство встроенных функций работают именно таким образом. Подробно о создании файл-функций и файл-программ можно узнать из литературы, посвященной программированию собственных приложений системы MatLab. 2.9. Связь MatLab и MS Office Среда MatLab допускает достаточно простое интегрирование с MS Word и MS Excel. Редактор Word используется для написания интерактивных документов, так называемых М-книг, которые позволяют наглядно оформить расчеты на MatLab в документе Word. Обработка данных существенно облегчается при сочетании работы в MatLab и Excel. Надстройка Excel Link, входящая в поставку MatLab, снабжает пользователя Excel доступом ко всем функциям MatLab, которые значительно расширяют возможности электронных таблиц. 2.9.1. М-книги М-книги могут содержать как текст, таблицы, рисунки и другие элементы оформления документа MS Word, так и команды MatLab и результаты их выполнения. Причем, набираемые команды активизируются прямо из документа (М-книги) и результат помещается также в документ. Пользователь имеет возможность работать со средой MatLab, сопровождая свои действия текстовыми комментариями, набором формул в редакторе Microsoft Equation, словом, используя все средства Word. Получающиеся интерактивные документы могут, например, использоваться в качестве учебных пособий для изучения различных разделов математики, физики и других дисциплин, или при составлении отчетов о решении задач в MatLab.
2.9.2. Настройка MatLab и создание М-книги Перед началом работы над М-книгой необходимо произвести некоторые настройки MatLab на конфигурацию и версию MS-Word, установленного на компьютере. Действия, описанные ниже, производятся только один раз при создании первой М-книги. Продолжение работы над существующими М-книгами и разработка новых не требуют повторных настроек. Разумеется, при переустановке Word или MatLab придется произвести процесс настройки сначала. Запустите MatLab и наберите в командном окне notebook -setup. Запрашивается номер версии Word, установленной на вашем компьютере (это Microsoft Office 97, Microsoft Office 2000, Microsoft Office XP). Выберите нужную цифру и следуйте появляющимся инструкциям. Сначала выводится сообщение о том, что после нажатия на любую клавишу появится диалоговое окно, в котором следует указать путь к файлу шаблона normal.dot.
Замечание Шаблоны Word расположены в подкаталоге Шаблоны или Templates, в зависимости от локализации версии. Для Office 2000 и Office XP, установленного в ОС Windows 98 шаблон normal.dot находится по адресу C:\WINDOWS\Application Data\Microsoft\ Настройка MatLab завершена. В каталоге Шаблоны (или Templates) появился файл m-book.dot, являющийся шаблоном для создания М-книг. Имеется несколько способов, позволяющих начать работу над новой М-книгой. Команда notebook приводит к появлению в Word нового файла, основанного на шаблоне m-book.dot. Если Word не был открыт, то он запускается после выполнения данной команды. Аналогичный результат получается при создании нового файла при помощи пункта Создать меню Файл MS Word. В диалоговом окне Создание документа на вкладке Общие следует выбрать шаблон m-book.dot, установить переключатель Создать документ и нажать кнопку ОК.
Обратите внимание, что в Word создалось меню Notebook, предназначенное для управления и редактирования интерактивной М-книги. В меню Файл добавился пункт New M-book, кроме того, всплывающее меню приобрело дополнительные пункты. Список стилей также пополнился стилями, определенными в m-book.dot: AutoInit, Calc, Error, Input, NoGraph, Output. По умолчанию используется стиль Обычный. Замечание Вне зависимости от локализации версии Word, все элементы, добавляемые при подключении шаблона m-book.dot, имеют англоязычные названия. Наберите в документе какую-нибудь команду MatLab, к примеру f=sin(3/4*pi)*exp(-l) Поместите курсор в набранную строку и выберите в меню Notebook пункт Define Input Cell. Обратите внимание, что стиль набранного текста изменился на Input, сам текст заключился в квадратные скобки, а цвет шрифта изменился на зеленый: [f=sin(3/4*pi)*exp(-l)] Образовалась так называемая ячейка ввода (Input Cell). Для выполнения команды MatLab, содержащейся в ячейке ввода, следует убедиться, что данная ячейка является текущей, т. е. в ней находится курсор, и выбрать в меню Notebook пункт Evaluate Cell. Ниже ячейки ввода в документе появляется ячейка вывода с результатом в привычном для пользователя MatLab виде: f = 0.2601 Абзацы ячейки вывода имеют стиль Output, начало и конец ячейки ограничены квадратными скобками, а цвет шрифта синий. Пользователь может переопределить стили шаблона m-book.dot так же, как и любого другого стиля, выбрав в меню Формат пункт Стиль и произведя нужные установки в появившемся диалоговом окне. 2.9.3. Группировка ячеек Пример группировки ячеек в М-книге рассмотрим на примере решения классической задачи линейной оптимизации о составлении рациона питания. Имеются три продукта П1, П2, П3 разной цены, каждый из которых содержит определенное количество питательных ингредиентов И1, И2, И3, И4 (см таблицу). Известно, что в день требуется: И1 - не менее 250, И2 - не менее 60, И3 - не менее 100 и И4 не менее 220. Требуется оптимизировать затраты на приобретение продуктов. Очевидно, что количество приобретаемых продуктов не может быть отрицательным.
Составляется целевая функция, матрица А, вектора b и lb ограничений в соответствии с требованиями ToolBox Optimization, обозначив искомые количества продуктов через x1, x2, x3 соответственно. Поскольку линейные ограничения содержат "меньше или равно", а количество ингредиентов не должно быть менее заданных величин, то следует изменить знаки обеих частей системы. ;
Каждый оператор следует заключить в ячейку ввода, выбирая в меню Notebook пункт Define Input Cell, либо используя комбинацию клавиш <Alt>+<D>. Содержимое М-книги должно соответствовать листингу 7.
Читайте также: G) ограниченная функция снизу и сверху Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|