Задачи целочисленного программирования — КиберПедия 

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

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

Задачи целочисленного программирования

2022-11-14 17
Задачи целочисленного программирования 0.00 из 5.00 0 оценок
Заказать работу

Определение 1. Задача максимизации или минимизации линейной функции при линейных ограничениях, в которой на значения всех или части переменных наложено требование целочисленности, называется задачей целочисленного линейного программирования (ЗЦЛП) (ЗЦЛП). В первом случае говорят о задаче полностью целочисленного линейного программирования, а во втором — о задаче частично целочисленного линейного программирования. Если коэффициенты ограничений и целевой функции в ЗЦЛП целые, то говорят о целочисленной ЗЦЛП.

Определение 2. Если некоторая переменная в ЗЦЛП может принимать только значения 0 или 1, то такая переменная называется булевой, или {0, 1}-переменной. Если все переменные в ЗЦЛП булевы, то задача называется задачей булева линейного программирования.

 

Задачей линейного программирования называется оптимизационная задача, в которой критерий эффективности и ограничения представляют линейные функции.

Математическая модель задачи линейного программирования включает себя:

• максимум или минимум целевой функции (критерий оптимальности);

• систему ограничений в форме линейных уравнений и (или) неравенств;

• требование неотрицательности переменных вектора решения.

Общая постановка задачи формулируется следующим образом: необходимо найти такое решение Х=(х1, х2, …. хп) системы (являющееся оптимальным решением, или оптимальным планом), обеспечивающие достижение экстремума (максимума или минимума) целевой функции (линейной формы, функции цели) задачи

и удовлетворяющие системе ограничений (уравнений и неравенств)

 

В общем случае задача линейного программирования может быть записана в виде:

 

 

Данная запись означает следующее: найти оптимальное значение целевой функции (3) и соответствующий ему вектор переменных Х=(х1, х2, …. хп) при условии, что эти переменные удовлетворяют системе ограничений (4) и условиям (5).

Множество допустимых решений задачи образует область допустимых решений (ОДР).

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

Например, задача об оптимальном использовании ресурсов является стандартной: Найти максимум функции Z = c1 x1 + c2 x2 +...+ cn xn при ограничениях

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

 

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

Метод исходит из следующих предпосылок: Множество всех допустимых решений системы ограничений задачи линейного программирования является выпуклым (то есть вместе с любыми двумя точками множества ему принадлежит и весь отрезок, соединяющий их). Если задача линейного программирования имеет оптимальное решение, то оно совпадает с одной (двумя) из угловых точек множества допустимых решений. Каждому допустимому базисному решению задачи линейного программирования соответствует угловая точка области допустимых решений системы ограничений и наоборот.

 

Подробнее

Алгоритм решения состоит из двух этапов: построение области допустимых решений и определение оптимального решения из этой области. Прямая, уравнение которой получено из целевой функции задачи, при равенстве ее постоянной величине, называется линией уровня. Линия уровня, имеющая общие точки с областью допустимых решений, если при этом область допустимых решений целиком находится в одной из полуплоскостей, называется опорной прямой. Решением задачи является такая угловая точка (набор точек), принадлежащая области допустимых решений, на которой достигается самая верхняя (или нижняя) линия уровня. Если ограничения задачи противоречивы и ОДР не существует, то задача не имеет решения. Если ОДР задачи представляет замкнутый выпуклый N-угольник, то задача имеет либо единственное решение в вершине ОДР, либо несколько решений, в точках, принадлежащих стороне ОДР. Если ОДР задачи представляет незамкнутый выпуклый N-угольник, то задача имеет либо единственное решение в вершине ОДР, либо не имеет решения, когда ОДР не ограничена в области возрастания (убывания) целевой функции.

Основным методом решения задач линейного программирования является симплекс-метод.

Вычисления, которые обеспечивают вычисление целевой функции и переменных, называют итерацией. Симплексный метод гарантирует, что при этом новом решении линейная форма, если и не достигнет оптимума, то приблизится к нему.

Подробнее

Если число отличных от нуля координат опорного решения равно m, то решение называется невырожденным, в противном случае (меньше m) – вырожденным. Начальное опорное решение проверяется на оптимальность, далее переходят к другому опорному решению таким образом, чтобы значение целевой функции увеличивалось (уменьшалось) в соответствии с критерием оптимальности.

Задачи целочисленного программирования Задача о назначениях - это одна из задач целочисленного программирования, которая предназначена для оптимального подбора n "предложений" к n "потребностям", например, для назначения вида работы машине, назначения вида работы производственному отделу, назначения человека на должность и т.д. целочисленной называется задача линейного программирования, в которой все компоненты плана х – целые числа. Метод назначений применяется при решении задач, имеющих следующие характеристики:

1. Имеется n "предметов", которые должны быть распределены по n "пунктам назначения".

2. Каждый "предмет" должен быть назначен единственному "пункту назначения". В понятие "предмет" и "пункт назначения" может вкладываться различное смысловое значение, определяемое конкретной задачей менеджмента. Так в качестве предмета может выступать определенный вид деятельности (работы), должность, человек и т.д.

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

СИСТЕМА MATLAB

MATLAB - ϶ᴛᴏ компьютерный язык высокого уровня для технических вычислений. Он интегрирует вычисления, визуализацию, и программирование в простой для использования среде, в которой задачи и решения представлены в привычной математической записи. Типичные применения MATLAB включают:

•Математику и вычисления

•Разработку алгоритмов

•Сбор данных

•Моделирование, симуляцию и разработку прототипов

•Анализ данных, их изучение и визуализацию

•Научную и инженерную графику

•Разработку приложений, включая построение пользовательского графического интерфейса

MATLAB - ϶ᴛᴏ интерактивная система, в которой базовым элементом данных является матрица, не требующая задания размерности. Это позволяет решать множество технических вычислительных задач, в частности задач, имеющих матричную и векторную формулировку.

Название MATLAB происходит от сокращения слово-сочетания matrix laboratory (матричная лаборатория). MATLAB изначально разработан для простого доступа к матричному программному обеспечению, разработанному в рамках проектов LINPACK и EISPACK.

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

MATLAB охватывает семейство специальных прикладных решений, которые называются toolboxes (ящики инструментов). Toolboxes позволяют пользователю изучать и применять специальные технологии. Toolboxes представляют собой обширный набор функций MATLAB (M-файлов) который расширяет среду MATLAB для решения частных классов задач. Сфера применения toolboxes включает обработку сигналов, системы управления, нейронные сети, неопределœенную логику, вейвлет, моделирование, и многие другие.

СИСТЕМА MATLAB.

Система MATLAB состоит из пяти базовых частей:

Среды разработки. Это наборинструментов и средств которые помогают использоват функции и файлы MATLAB. Многие из этих инструментов являются графическими пользовательскими интерфейсами. Οʜᴎ включают рабочий стол (desktop) и командное окно (Command Window), историю команд (command history), редактор (editor) и отладчик (debugger) и каталогов (browsers) для просмотра справок (help), рабочего пространства (workspace), файлов (files) и поиска путей (path) в MATLAB.

Библиотеки математических функций. Это обширный набор вычислительных алгоритмов, охватывающий диапазон от элементарных функций таких как сумма, синус, косинус и комплексная арифметика, до более сложных функций как обращение матрицы, вычисление собственных значений матрицы, Бесселœевы функции и быстрое преобразование Фурье.

Языка MATLAB. Это матрично/массивный язык высокого уровня с потоко-управляющими формулировками, функциями, структурами данных, вводом/выводом, и свойствами объектно-ориентированного программирования. Он позволяет как “программировать в малом” для создания быстрых и черновых текущих программ, а также “программировать в большом” для создания законченных больших и сложных прикладных программ.

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

Интерфейса программного приложения MATLAB (API).Это библиотека, которая позволяет писать программы на языках С и Fortran, совместимые с MATLAB. Она включает средства для вызова шаблонов из MATLAB (динамическое подключение).

СРЕДА РАЗРАБОТКИ

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

Запуск и выход из MATLAB.

Запуск MATLAB осуществляется двойным щелчком кнопки на рабочем столе Windows. После запуска MATLAB, открывается рабочий стол MATLAB.

Выход из MATLAB. Для окончания сессииMATLAB, нужно выбрать Exit MATLAB из File-меню на рабочем столе, или напечатать “quit” в командном окне (Command Window).

Рабочий столMATLAB.

После того, как MATLAB стартовал, появляется рабочийстолMATLAB, который содержит инструменты (графический интерфейс пользователя, GUI) для управления файлами, переменными, и приложениями, которые взаимодействуют с MATLAB, рис. 1. Вид рабочегостоламожно изменить открытием, закрытием, перемещением и изменением размеров инструментов в нем. Для закрытия и открытия инструментов используется View-меню. Возможно также перемещение инструментов за пределы рабочегостола или перемещение их обратно на рабочий стол (docking). Все инструменты рабочего стола предоставляют общие средства, такие как контекстные меню и быстрые клавиатурные команды (keyboard shortcuts). Возможна спецификация определœенных характеристик инструментов рабочегостолапри помощи выбора Preferences из File-меню.

Рис. 1. Вид рабочего стола при первом старте MATLAB

Инструменты рабочего стола.

Этими инструментами являются:

Кнопка запуска “Start Button” – запуск инструментов и доступ к документации для всœей продукции Math Works.

Командное окно “Command Window” – запуск функций MATLAB

Историякоманд“Command History” – просмотр записей функций, введенных в командное окно, их копирование и выполнение

Справочный каталог“Help Browser” – просмотр и поиск документации для всœего семейства продукции MATLAB

Каталог текущей директории“Current Directory Browser” – просмотр файлов MATLAB и доступных файлов

Каталог рабочего пространства “Workspace Browser” – просмотр и внесение изменений в содержимое рабочего пространства

Редактор массива“Array Editor” – просмотр содержимого массива в табличном формате и редактирование значений.

Редактор/отладчик “Editor/Debugger” – создание, редактирование и отладка M-файлов (файлов, содержащих функции MATLAB).

Профайлер “Profiler” – вводит ограничение характеристик M-файлов с использованием графического интерфейса

Другие инструменты и окна MATLAB не управляются с рабочего стола.

Кнопка запуска (Start Button), рис. 2.

Рис. 2. Меню кнопки запуска “Start Button” при нажатии

Кнопка запуска MATLAB обеспечивает простой доступ к инструментам, демонстрациям, и документации для всœей продукции Math Works.

1. Нажмите кнопку запуска “Start Button” для просмотра категорий продукции и инструментов рабочего стола, установленных в Вашей системе.

2. Перемещайтесь по меню кнопку запуска до пункта͵ который Вы хотите открыть, затем выберите данный пункт. Выбранный пункт открывается.

Панель состояния (Status Bar), рис. 3.

Панель состоянияразмещена в нижнем левом углу рабочего стола. Она показывает сообщения, такие как, когда MATLAB занят выполняя задание или когда включен профайлер (Profiler).

Рис. 3. Вид панели состояния(Status Bar).

Панель инструментов рабочего стола (Desktop Toolbar), рис. 4.

Рис. 4. Вид панели инструменто рабочего стола (Desktop Toolbar)

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

Поле текущей дериктории (Current Directory Field), на панели инструментов показывает текущую рабочую дерикторию MATLAB. Можно изменить текущую дерикторию используя это поле и выполняя другие операции, используя каталог текущей дериктории (Current Directory browse).

Контексные меню (Context Menus), рис. 5.

Рис. 4. Вид контексного меню окна истории команд.

Многие функции инструментов рабочего стола MATLAB доступны из контексных меню. Для входа в контексное меню нажмите правой кнопкой мыши на выбранный пункт. Появится соответствующее контексное меню, ĸᴏᴛᴏᴩᴏᴇ представляет доступные действия.

Быстрые клавиатурные команды (Keyboard Shortcuts), обеспечивают доступ ко многим пунктам меню, к примеру, в результате нажатия Ctrl+Xвыполняется командаCut.Многие пункты меню показывают быстрые клавиатурные команды.

ЗАПУСК ФУНКЦИЙ MATLAB.

Командное окно (Command Window), рис. 5.

Основным средством взаимодействия с MATLAB является командное окно. Оно появляется на рабочем столе, когда Вы запускаете MATLAB. Командное окно используется для запуска функций MATLAB и выполнения операций MATLAB.

Рис. 5. Вид командного окна (Command Window).

Для появления командного окна на рабочем столе MATLAB, выберите пункт Command Window из View-меню.

Запуск функций и ввод переменных.

Введение указаний в приглашении командной строки (command line). Приглашение (prompt) (>>) в командном окне показывает, MATLAB готов к приему входа. Когда Вы видите приглашение, >>, Вы можете вводить переменную или запускать функцию. Это приглашение и Ваш вход называются командной строкой (command line).

К примеру, ввести A, матрицу 3-на-3, для этого нужно напечатать

Когда Вы нажмете клавишу ввод (Enter) после того как напечатаете строку, MATLAB ответит

Для запуска функции, напечатаете функцию, включая аргументы, и нажмите ввод (Enter), MATLAB возвратит результат. К примеру, напечатайте

sin(pi/3)

и MATLAB возвратит

ans =

0.8660

Численное значение выбранного объекта. Для определœения численного значения выбранного объекта в командном окне отметьте данный объект курсором, щелкните правой кнопкой мыши и в появившемся контекстном меню выберите пункт Evaluate Selection, или после того как Вы отметили объект, нажмите клавишу ввод (Enter).

Открытие выбранного объекта. Из командного окна Вы можете открыть функцию, файл, переменную или модель. В командном окне выберите имя, щелкните правой кнопкой мыши и в появившемся контекстном меню выберите пункт Open Selection. Это запустит открывающую функцию для выбранного Вами пункта͵ так, что она откроет в подходящей среде:

• M-файлы или другие текстовые файлы в текстовом редакторе (Editor)

• Файлы рисунков (. f ig) в окне рисунка (figure window)

• Переменные в редакторе массива (Array Editor)

• Модели в Simulink

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

Контроль ввода и вывода. В командном окне можно контролировать иинтерпретировать ввод и вывод следующим образом:

• чувствительностью к регистру клавиатуры и пробелам

• вводом множества функций в одной строке

• вводом длинных строк

• синтаксическим выделœением и сравнением скобок

• редактированием командной строки

• очисткой командного окна

• подавлением вывода результата

• разбиением на страницы выводимого в командном окне результата

• форматированием и разделœением выводимых в командном окне числовых результатов

• печатью содержимого командного окна

• поддержанием записи сесси

Чувствительность к регистру клавиатуры и пробелам. MATLAB является чувствительным к регистру клавиатуры. К примеру, нельзя исполнить функцию Plot, вместо plot. Аналогично, перменная a не тоже, что перменная A. Не используйте верхний регистр для запуска функций.

Пустое пространство вокруг операторов, таких, как –,:, и (), не являются обязательными, но они улучшают читаемость.

Ввод множества функций в одной строке. Для ввода множества функций в одной строке, отделяйте эти функции запятой (,) или точкой с запятой (;). Использование точки с запятой вместо запятой подавит вывод результата команды, предшествующей ей. К примеру, в одной командной строке наберите три функции для построения таблицы логарифмов,

format short; x = (1:10)'; logs = [x log10(x)]

и нажмите ввод (Enter). Функции запускаются в порядке с лева на право.

Ввод длинных строк. В случае если выражение не помещается в одной строке, в конце строки введите эллипсис продолжения (...) для того, чтобы показать что эта строка продолжается на следующей строке. Затем нажмите ввод (Enter). Продлжите печать выражения на следующей строке. Можно повторить эллипсис для продолжения выражения на многих строках. После окончания выражения нажмите ввод (Enter).

Синтаксическое выделœение и отслеживание скобок. Некоторые вводимые позиции появляются различного цвета͵ что помогает Вам легче осуществлять поиск элементов, таких как блоки сравнения if/else, которые известны как синтаксическое выделœение. Имеются средства, которые позволяют Вам легче отслеживать парность скобок или других ограничителœей.

РЕДАКТИРОВАНИЕ КОМАНДНОЙ СТРОКИ.

Средства клавиатуры. Когда Вы работаете в командной строке используйте средства CUT, COPY, PASTE, UNDO, и REDO из меню EDIT. Имеется также доступ к некоторым из этих средств из контекстного меню командного окна.

Восстановление предыдущей строки. Для восстановления, редактирования или повторного использования функций, которые Вы напечатали раньше, используйте клавиши стрелок, tab, и контрольные ключи.

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

Стрелки и контрольные ключи в командном окне. Далее представлен перечень стрелок и контрольных ключей, которые Вы можете использовать при работе в командном окне.

Очистка командного окна. Выберите Clear Command Window из меню Edit для его очистки. Это не очистит рабочее пространство, но только очистит видимое пространство окна. После этого, у Вас останентся возможность использовать стрелки для восстановления в командной строке ранее введенных функций. Для Очистки командного окнаможно также использовать команду clc.

Подавление вывода. В случае если Вы закончите ввод оператора точкой с запятой (;), MATLAB выполнит оператор но не выведет результат после нажатия ввод (Enter).

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

Форматирование выходных числовых данных. По умолчанию, выходные числовые данные в командном окне представлены в 5-ти значном формате с фиксированной точкой. Для изменения числового формата выходных числовых данных используйте средства текстового вывода, которые изменяют числовой формат выходных данных. Эти средства доступны в окне Command Window Preferences, доступном в меню File Preferences. Текстовой формат вывода влияет только на число выводимых значней, но не влияет на но то, как MATLAB их вычисляет или сохраняет. Функции форматирования доступны в командном окне. Установленный Вами формат действует только в текущей сессии. К примеру: format short e, format long, и т.д.

ЗАПИСЬ СЕССИИ

Функция дневника. Эта функция создает копию Вашей сессии MATLAB на дисковый файл, включая ввод с клавиатуры и результаты работы системы, исключая графики. Можно видеть и редактировать результирующий текстовый файл используя любой текстовый процессор. Важно заметить, что для создания файла на Вашем диске под названием sept23.out, который содержит всœе введенные Вами функции, также как результаты работы MATLAB, введите

diary('sept23.out')

Для остановки записи сессии используйте diary('off')

Другие возможности записи сессии. Окно истории комманд (Command History), ĸᴏᴛᴏᴩᴏᴇ содержит записи всœех выполненных функций в текущей и предыдущих сессиях.

ИСПОЛНЕНИЕ ПРОГРАММ.

Исполнение M-файлов. М-файлы, которые содержат код на языке MATLAB исполняются таким же образом, как и другие функции MATLAB. Напечатайте имя M-файла в командном окне и нажмите ввод (Enter).M-файл должен быть в текущей дирректории MATLAB или на пути поиска MATLAB.

Прерывание исполнения программ. Исполнение программы может быть прервано нажатием Ctrl+C в любой момент времени.

Исполнениевнешних программы. Восклицательный знак,!, является прерыванием shell ипоказывает, что последующая часть строки ввода является командой операционной системы.

Открытие M-файлов. Для открытия M-файла, отметьте файл или имя функции в командном окне, затем нажмите правую кнопку и выберите из контекстного окна Open Selection.M-файл откроется в редакторе/отладчике. Для открытия M-файла можно также использовать функции open или edit в командном окне, с указанием имени файла.

Настройки командного окна. Используя настройки, Вы можете, к примеру, задать формат появления числовых данных, установить режим echo для выполняемых команд, выбрать шрифт и цвета текста для синтаксического выделœения.

Для установки настроек командного окна, выберите Preferences из меню File. Откроется диалоговое окно Command Window Preferences.

ИСТОРИЯ КОМАНД (Command History).

Окно истории команд появляется при первом старте MATLAB. Окно истории команд показывает запись команд, которые исполнялись в командном окне последнее время. Для появления или удаления окна истории команд с рабочего стола используйте меню View.

Используйте историю команд для:

• "Просмотра команд в окне истории команд"

• "Исполнения команд из окна истории команд"

• "Копирования команд из окна истории команд"

• "Поиска в истории команд"

• "Печатания истории команд"

• "Настроек истории команд"

ПОЛУЧЕНИЕ СПРАВОК

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

РАБОЧЕЕ ПРОСТРАНСТВО (workspace) MATLAB.

Рабочее пространство состоит из набора переменных (именованных массивов) созданного в процессе сессии MATLAB и хранящегося в памяти. Вы добавляете переменные к рабочему пространству при использовании функций, исполнении M-файлов и загружая сохраненные рабочие пространства. К примеру, если Вы напечатали

t = 0:pi/4:2*pi; y = sin(t);

рабочее пространство содержит две переменные, y и t, каждая из которых включает девять значений.

Каталог рабочего пространства. Этот каталог можно открыть выбрав пункт Workspace в меню View рабочего стола MATLAB, или напечатать workspace в командном окне. В каталоге рабочего пространства указано имя каждой переменной, размер ее массива, размер в битах и ее класс.

В рабочем пространстве Вы можете выполнять операции используя каталог рабочего пространства.

Для получения листинга переменных текущего рабочего пространства используйте команды who и whos. Результатом выполнения whos есть информация о размере и классе переменной. Используйте команду exist для проверки наличия переменной в текущем рабочем пространстве.

Сохранение текущего рабочего пространства. Рабочее пространство не сохраняется между сессиями. Когда Вы выходите из MATLAB, рабочее пространство очищается. Вы можете сохранить любую переменную или всœе переменные текущего рабочего пространства в MAT-файл (расширение.mat), который является специализированным бинарным файлом MATLAB. Позже Вы можете загрузить MAT-файл в процессе текущей или следующей сессии для повторного использования переменных рабочего пространства.

Важно заметить, что для сохранения всœех переменных используйте каталог рабочего пространства. Из меню File, выберите пункт Save Workspace As, или нажмите кнопку «сохранить» на панели инструментв каталога рабочего пространства. В открывшемся диалоговом окне задайте путь и имя файла, MATLAB автоматически добавит расширение (.mat), нажмите Save. Переменные рабочего пространства записаны в MAT-файл под указанным Вами именем. Важно заметить, что для сохранения отдельных переменных, но не всœех переменных рабочего пространства: выделите переменные в каталоге рабочего пространства, для выделœения нескольких переменных используйте ключи Shift+click или Ctrl+click, нажмите правую кнопку мыши и из контекстного меню выберите Save Selection As. В открывшемся диалоговом окне задайте путь и имя файла, нажмите Save.

Важно заметить, что для сохранения переменных рабочего пространства также можно использовать функцию save в командном окне с указанием имени файла, К примеру, save('june10') сохранит всœе текущее рабочее пространство в файл june10.mat. Вы можете задать переменные, которые крайне важно сохранить.

Загрузка сохраненного рабочего пространства. Для загрузки сохраненных переменных в рабочее пространство на панели инструментов каталога рабочего пространства нажмите кнопку Load data file или в меню File выберите пункт Import data. В появившемся диалоговом окне выберите необходимый файл данных, нажмите кнопку Open. Сохраненные в MAT-файле переменные и их величины загрузятся в текущее рабочее пространство. В случае если какие-либо загружаемые переменные имеют такие же имена, как имена переменных в текущем рабочем пространстве, переменные из MAT-файла заменят переменные в текущем рабочем пространстве. Любая переменная, которая не существует в текущем рабочем пространстве, будет добавлена.

Для загрузки сохраненного рабочего пространства используйте функцию load с указанием имени файла, К примеру, load('june10') загрузит всœе переменные из файла june10.mat.

Изменение и копирование имен переменных. Для переименования переменной в рабочем пространстве, щелкните правой кнопкой мыши на имени перенной в каталоге рабочего пространства, и выберите Rename из контекстного меню. Напечатайте новое имя переменной и нажмите ввод (Enter). Для копирования имен переменных буфер (clipboard), отметьте имена переменных рабочего пространства и выберите из меню Edit команду Copy. Вы можете вставить имена, к примеру, в командное окно. Несколько переменных будут разделœены запятой.

Очистка переменных рабочего пространства. Вы можете очистить переменную, что удалит ее из рабочего пространства. Для очистки переменной используя каталог рабочего пространства отметьте переменную, используйте ключи Shift+click или Ctrl+click для выделœения нескольких переменных. Для выделœения всœех переменных выберите Select All из меню Edit или контекстного меню. Нажмите клавишу Delete на клавиатуре или кнопку Delete на панели инструментов. Для удаления всœех переменных одновременно, выберите Clear Workspace из меню Edit.

Для очистки переменных рабочего пространства может быть также использована функция clear в рабочем окне. К примеру, функция clear удаляет всœе переменные из рабочего пространства, функция clear A M удалит из рабочего пространства только переменные A и M.

Просмотр базового рабочего пространства и рабочего пространства функции используя стек (Stack). Когда исполняются M-файлы, MATLAB присоединяет к каждой функции ее собственное рабочее пространство, ĸᴏᴛᴏᴩᴏᴇ принято называть рабочим пространством функции, и ĸᴏᴛᴏᴩᴏᴇ является отдельным от базового рабочего пространства MATLAB. Для присоединœения базового рабочего пространства и рабочего пространства функции, когда происходит отладка M-файла, используйте область стека в каталоге рабочего пространства. Область стека (Stack field) доступна только в режиме отладки, в остальное время она выделœена серым. Область стека доступна также из редактора/отладчика (Editor/Debugger).

Построение графиков из каталога рабочего пространства. Вы можете генерировать график переменной из каталога рабочего пространства. Щелкните правой кнопкой мыши на имени перенной в каталоге рабочего пространства которую Вы хотите представить графически. Из контекстного меню выберите тип графического представления переменной, к примеру, plot all columns, или bar, и др. Эта функция доступна также при нажатии кнопки plot all columns на панели инструментов каталога рабочего пространства. График появится в окне рисунков.

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

Просмотр и редактирование переменных рабочего пространства в редакторе массива (Array Editor). Используйте редактор массива для просмотра и редактирования визуального представления одно- или двухмерных числовых массивов, строк, и клеточных массивов строк. Редактор массива имеет следующие возможности:

• Открытие

• Управление представлением величин

• Навигация

• Изменение размерности массива и содержания элементов

• Вырезание (Cut), копирование (Copy), вставка (Paste), и удаление (Delete)

• Настройка

Редактор массива Вы можете открыть из каталога рабочего пространства. В каталоге рабочего пространства выберите переменную, которую хотите открыть. Для выбора нескольких переменных используйте ключи Shift+click или Ctrl+click, для выбора всœех переменных используйте Ctrl+A. Щелкните кнопку открытия (open selection) на панели инструментов. Для открытия только одной переменной, вместо этого, Вы можете два раза щелкнуть ее.

Откроется редактор массива, который показывает значения для выбранной переменной.

Повторите те же шаги для открытия в редакторе массива дополнительных переменных. Для доступа к каждой переменной используйте ее метку (tab) в нижней панели окна редактора массива или меню Window. Для открытия в редакторе массива переменной в командном окне используйте функцию openvar с именем переменной, которую Вы хотите открыть, в качестве аргумента. К примеру, напечатайте openvar('m'), или openvar m, MATLAB откроет m в редакторе массива.

Для просмотра содержания переменной в рабочем пространстве, только напечатайте имя переменной в приглашении командного окна. К примеру, напечатайте

>> m

и MATLAB возвратит

m =

ПУТЬ ПОИСКА

MATLAB использует путь поиска (search path)для отыскания M-файлов и других файлов, относящихся к MATLAB, которые организованы в директории в Вашей файловой системе. Эти файлы и директории являются доступными из MATLAB и других его инструментов (toolboxes). Любой файл, который Вы хотите исполнить в MATLAB должен содержаться в директории, которая находится на пути поиска или в текущей директории. По умолчанию, файлы, которые поставляются с инструментами MATLAB и Math Works включены в путь поиска.

В случае если Вы создаете любые файлы, относящиеся к MATLAB, добавляйте директории, содержащие эти файлы к пути поиска MATLAB.

Замечания. 1) Записывайте любые создаваемые Вами M-файлы и поставляемые MathWorks M-файлы, которые Вы редактируете, не в директории дерева $matlabroot/toolbox. В случае если Вы храните файлы в директориях $matlabroot/toolbox, они бывают перезаписаны, когда Вы устанавливаете новую версию MATLAB. 2) Также, файлы, находящиеся в директории дерева $matlabroot/toolbox, размещаются и кэшируются в памяти в начале каждой сессии MATLAB. 3) В случае если Вы сохранили файлы в директориях $matlabroot/toolbox используя внешний редактор, или добавили, или удалили файлы из э


Поделиться с друзьями:

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.249 с.