Гордеев А.С. Моделирование в агроинженерии - файл n1.doc

Гордеев А.С. Моделирование в агроинженерии
скачать (2046.7 kb.)
Доступные файлы (1):
n1.doc3932kb.03.12.2007 20:56скачать

n1.doc

1   2   3   4   5   6   7   8   9   10

9.6. Работа с ресурсами
Ресурсы — это объекты класса Entity или созданного подкласса этого класса.

Работа с ресурсами это предоставление этих ресурсов, занятие и освобожде-ние. В таблице П9.4 приведены блоки работы с ресурсами.

Блок Resource. Предоставляет ресурсы, которые могут быть заняты и осво-бождены заявками с помощью объектов SeizeQ, ProcessQ и Release.

Объект Resource может создавать, хранить, выдавать и забирать ресурсы. Количество ресурсов может изменяться динамически.

Объект Resource лучше всего подходит для моделирования относительно небольших количеств индивидуально неповторимых предметов, таких, как операторы, машины, устройства, критические секции, и т.п.

В любой момент времени ресурсом может владеть только одна заявка. Следо-вательно, заявки конкурируют за право обладания ресурсами. В случае одновре-менного получения нескольких запросов, Resource удовлетворяет их вначале в соответствии с их приоритетами, а затем — согласно их временным меткам. Приоритетом в данном случае является значение параметра priority объекта SeizeQ, который пытается занять ресурс для заявки (не путайте с полем priority заявки).

Временная метка хранит значение времени, с которого заявка ожидает получения ресурса (время, когда заявка попала в очередь объекта SeizeQ). Более старые запросы обслуживаются в первую очередь. В том случае, если запрос не может быть обслужен из-за нехватки свободных ресурсов, он пропускается, а обслуживаются запросы с более низкими приоритетами или с более поздней

Таблица П9.4. Блоки работы с ресурсами


Значок

Имя

Описание



Resource

Предоставляет ресурсы, которые могут понадобиться заявкам.



SeizeQ

Занимает ресурсы, запрошенные заявкой.



Release

Освобождает ранее занятые заявкой ресурсы.



ProcessQ

Занимает ресурсы, запрошенные заявкой, задерживает заявку, и затем освобождает ресурсы.


временной меткой. Объект Resource имеет порт access, который должен быть подсоединен к портам access объектов SeizeQ, Release или ProcessQ.

Один объект Resource может быть подсоединен сразу к нескольким таким объектам, и наоборот, один объект SeizeQ или Release может быть подсоединен сразу к нескольким объектам Resource.

Блок SeizeQ. Занимает для заявки заданное количество ресурсов определен-ного типа. Содержит очередь, в которой заявки ожидают, пока запрашиваемый ресурс не станет доступным. Вначале ресурс запрашивается для первой заявки из очереди, и пока эта заявка владеет ресурсом, ресурсы для последующих заявок не выделяются (даже если они и могли бы быть выделены). Запрос содержит параметр priority объекта SeizeQ и временную метку заявки — время, когда заявка поступила в объект SeizeQ. Как только для заявки занимается ресурс, она немедленно покидает объект. К порту access объекта SeizeQ могут быть подсоединены как один, так и несколько объектов Resource.

Объект Resource, так же как и количество ресурсов, выбирается отдельно для каждой заявки. Функциональность и интерфейс внутренней очереди Queue, в том числе режимы вытеснения и таймаута, полностью унаследуются объектом SeizeQ.

Код параметра onSeizeUnit выполняется для каждого занятого ресурса; т.е., если будет занято 5 ресурсов, то onSeizeUnit выполнится 5 раз. К моменту вызова кода параметра onSeizeUnit ресурс уже будет добавлен к вектору resources этой заявки. К моменту вызова кода onExit заявка уже будет удалена из очереди.

Блок Release. Освобождает ресурсы, ранее занятые заявкой. Вы можете либо указать количество ресурсов одного типа, либо задать условие для их выбора. К порту access объекта Release могут быть подсоединены один или сразу несколько объектов Resource, поэтому для каждой заявки может быть выбран ресурс своего типа.

Блок ProcessQ. Занимает ресурсы для заявки, задерживает заявку, а затем освобождает занятые ей ресурсы. К порту access объекта ProcessQ должны быть подсоединены один или несколько объектов Resource. Объект содержит последо-вательную комбинацию объектов SeizeQ, Delay и Release. Функциональность и интерфейс этих трех объектов наследуются объектом ProcessQ (за исключением объекта Release, который настроен так, чтобы освобождать именно те ресурсы, которые были ранее заняты объектом SeizeQ).
9.7. Транспортные сети
Библиотека содержит ряд объектов, позволяющих создать сложные транс-портные сети. Заявки в транспортной сети передвигаются вдоль путей сети и используют ресурсы, находящиеся в ней.

Сеть и сетевые ресурсы. Сеть состоит из узлов и связей между ними, которые автоматически генерируются на базе созданной анимации. Чтобы задать сеть, нуж-но нарисовать набор прямоугольников (по одному на каждый узел), а также линий и ломаных (по одной на каждую связь сети), конечные точки которых лежат внут-ри соединяемых прямоугольников. Затем Вы должны добавить все эти фигуры в группу фигур и задать эту группу фигур в качестве параметра объекта Network.

Блоки для создания транспортной сети приведены в таблице 9.5.

Объект Network. Задает сеть. Содержит параметры для изменения типа маршрутизации и правил выбора запрашиваемых ресурсов.

Сетевые ресурсы могут быть трех типов:

- персонал;

- переносные;

- статические.

Примером ресурса типа «персонал» являются рабочие, осуществляющие обработку продукции в хранилище.

Примером переносного ресурса является электропогрузчик в хранилище или тара.

Статическими ресурсами являются камеры хранения холодильника, линии обработки, холодильные установки т.п.

Сетевые ресурсы задаются с помощью объектов NetworkResource.

Таблица П9.5. Блоки создания транспортной сети.


Значок

Имя

Описание



Network

Задает транспортную сеть.



NetworkResource

Описывает ресурсы, расположенные в сети.



NetworkEnter

Добавляет заявку в указанное место сети.



NetworkExit

Удаляет заявку из сети.



NetworkMoveTo

Перемещает заявку в новое местоположение.



NetworkMoveToWithQ

Перемещает заявку в новое место в сопровождении эскорта, состоящего из ресурсов типа «персонал».



NetworkCallQ

Вызывает ресурсы типа «персонал» в указанное место сети.



NetworkFree

Освобождает ранее занятые ресурсы типа «персонал».



NetworkFetchQ

Моделирует занятие переносного ресурса ресурсами типа «персонал».



NetworkReturn

Возвращает переносной ресурс с помощью персонала.



NetworkSeize

Занимает статический ресурс.



NetworkRelease

Освобождает статический ресурс.


Каждый ресурс имеет свое базовое местоположение. Ресурс типа «персонал» возвращается туда, когда становится свободным. Если же на освободившийся ресурс типа «персонал» есть запрос, то он будет направлен туда, откуда был запрошен.

Переносные ресурсы могут переноситься по сети с помощью ресурсов типа «персонал». Если ресурс не передвигается по сети, то он всегда остается в своем базовом местоположении.

Управление сетевыми ресурсами осуществляется централизованно с помощью объекта Network. Ресурсы занимаются и освобождаются с помощью специальных блоков (наподобие ранее описанных объектов SeizeQ и Release). Когда заявка поступает в такой блок, в сеть отсылается новый запрос на ресурс.

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

Блоки NetworkResource должны быть соединены с портом resources _port объекта Network. Объект Network должен быть задан в качестве параметра объекта NetworkEnter.

Объект NetworkEnter добавляет заявки в указанные места сети. Описывает сетевые ресурсы определенного типа. Каждый ресурс имеет свое базовое местопо-ложение в сети. Именно туда возвращается освободившийся ресурс, если на него нет других запросов.

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

Состояние

Значение

Описание

Idle

NetworkJDLE

Доступен

Traveling to use

Network.TRAVEL_TO_USE

Ресурс перемещается к месту вызова.

In use

Network.IN_USE

Ресурс, прибывший по запросу и занятый заявкой.

Traveling to home

Network.TRAVEL_TO_HOME

Ресурс направляется в свое базовое местоположение.

Off shift

Network.OFFSHIFT

Ресурс недоступен вследствие поломки.


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

Объект NetworkEnter. Добавляет заявки в указанное место сети.

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

Объект NetworkMoveTo. Перемещает заявку в новое место сети (той сети, в которой эта заявка находится). Блок NetworkMoveTo не передвигает вместе с зая-вкой занятые ей ресурсы, для этого нужно использовать блок NetworkMoveTo-WithQ.

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

Объект NetworkMoveToWithQ. Перемещает заявку в указанное место сети в сопровождении эскорта — набора ресурсов типа «персонал». С помощью этого объекта могут быть вызваны только ресурсы типа «персонал». В случае вызова ресурса другого типа возникнет ошибка.

Два ресурса одного типа могут быть вызваны путем указания следующей строки в параметре entities: {Truck.class, Truck.class}.

После того как заявка покидает блок, все занятые ею ресурсы добавляются в вектор заявки seizedStaf f. Если Вы перемещаете заявку с помощью блока NetworkMoveTo, то вызванные ресурсы останутся в своем текущем месте. Чтобы передвигать вместе с заявкой и занятые ею ресурсы, используйте блок NetworkMoveToWithQ.

Объект NetworkFree. Освобождает ресурсы типа «персонал», ранее занятые заявкой. Ресурсы, которые должны быть освобождены, указываются путем перечисления их типов. Операция освобождения занимает нулевое время, поэтому как только заявка поступает в объект NetworkFree, она тут же его покидает.
Объект NetworkSeizeQ. Занимает ресурсы статического типа. Поведение объекта то же, что и у блока NetworkCallQ, за исключением того, что отсутствует очередь, в которой заявки ждут прибытия ресурсов. Захваченные статические ресурсы добавляются в вектор заявки seizedStatic.

Объект NetworkRelease. Освобождает статический ресурс, ранее занятый заявкой. После того, как заявка покидает блок, ресурс будет удален из вектора seizedStatic заявки.

Объект NetworkFetchQ. Моделирует доставку переносных сетевых ресурсов к текущему местоположению заявки с помощью эскорта — ресурсов типа «персо-нал». После доставки ресурса сопровождающий персонал может быть или освобо-жден, или остаться занятым. Если свободных ресурсов требуемого заявкой типа нет, то она будет ждать в очереди, пока запрашиваемые ресурсы не освободятся. После этого заявка будет ждать, пока сопровождающий персонал не сходит за переносным ресурсом, и не доставит его к ней. Переносной ресурс будет добавлен в вектор заявки seizedPortable.

Объект NetworkReturn. Моделирует то, как переносные ресурсы возвраща-ются с помощью эскорта — ресурсов типа «персонал». Для этого может быть либо вызван новый эскорт, либо использован тот, который этот ресурс и доставил.
9.9. Транспортировка
Блоки транспортировки осуществляют моделирование передвижения заявки с заданной скоростью по участкам сети, пути с узлами, таблица П9.6.

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

Не накапливающий конвейер в этом случае вообще прекратит продвижение заявок, в то время как накапливающий конвейер продолжит двигать заявки, кото-рые имеют достаточно свободного места перед собой, т.e., те заявки, расстояние до предыдущей заявки у которых больше, чем значение параметра space. Скорость и параметр накапливания объекта Conveyor могут быть изменены динамически во время работы модели.

Объект Lane. Объект Lane моделирует трассу. Передвигает заявки по пути заданной длины, каждую со своей скоростью. В зависимости от значения парамет-ра overtake, заявки с различными скоростями могут либо обгонять друг друга, либо следовать одна за другой, сохраняя между собой заданное пространство (как в случае накапливающего конвейера). Если заявка, достигшая конца трассы Lane, не сможет покинуть объект, то она останется на своем месте. Параметр overtake объекта Lane может изменяться динамически во время работы модели.

Объект Node. Узел сети — источник, пункт назначения или транзитная точка маршрута движения заявки. Используется в комбинации с сегментами Segment, которые обеспечивают транспортировку заявок между узлами. Объекты Segment обычно соединяются с портом network объекта Node, в то время как заявки-"транс-портеры" которые проходят через узел Node, поступают в объект и покидают его через порты input и output соответственно.
Таблица П9.6. Блоки транспортировки.


Значок

Имя

Описание



Conveyor

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



Lane

Передвигает заявки по пути заданной длины, каждую со своей скоростью.



Node

Узел сети – источник, пункт назначения или транзитный пункт движения заявки.



Segment

Участок сети, который обеспечивает двунаправленное движение транспортеров.

Для любого транспортера, поступающего в объект Node (как через порт network, так и через порт input), проверяется пункт его назначения (значение поля destination типа Node).

Если в поле destination указан этот узел Node, то значение поля меняется на null, и этот транспортер покидает объект через порт output. Если поле destination равно null, то транспортер добавляется к набору свободных транспортеров, «припаркованных» в этом узле.

Если значение destination не равно ни null, ни этому узлу, то этот транспортер пересылается другому узлу, в соответствии с таблицей маршрутизации. Таблицы маршрутизации автоматически формируются в каждом объекте Node при создании модели, когда становится известна топология сети.

Транспортер, поступивший в порт output, мгновенно покидает объект Node. А вот транспортер, переданный в порт network, может быть поставлен в очередь, если соответствующий сегмент не может сразу же его принять.

Максимальное число свободных транспортеров ограничено параметром capa-cityIdle. Максимальное число транспортеров, ожидающих, когда нужный сегмент сможет его принять — параметром capacityPending. Если хотя бы одно из этих значений достигнуто, то транспортер не будет принят.

Можно вызвать транспортер в узел, вызвав функцию объекта order (). Тогда сеть будет искать свободный транспортер в том узле Node, из которого может быть доступен этот узел, и пошлет его в запрашивающий узел.

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

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

Объект Segment. Сегмент, участок сети, который обеспечивает двунаправлен-ное движение транспортеров: от порта left к порту right и наоборот. Может быть подсоединен только к портам network объектов Node, но не к другим объектам.

Содержит два объекта Lane с идентичными характеристиками, которые пере-мещают транспортеры в противоположных направлениях. Функциональность и интерфейс объектов Lane полностью унаследованы объектом Segment.
9.10. Анимация объектов дискретно-событийных моделей
Базовый класс Entity позволяет создать анимацию заявки. По умолчанию заяв-ка отображается на анимации небольшим прямоугольником случайно выбранного цвета. Цвет может быть изменен с помощью метода setColor().

В том случае, если заявка содержит другие заявки, они тоже могут быть отоб-ражены на анимации, но тогда при изменении содержимого заявки придется вызы-вать функцию updateAnimation ().

Если необходимо связать с заявкой определенную фигуру, то можно нарисо-вать эту фигуру на анимационной диаграмме в точке (0,0) и вызвать следующий метод, например, сразу после создания заявки:

entity.setAnimation( animation.shape ).

Возможно также нарисовать несколько фигур, затем добавить их в группу фигур и использовать эту группу в качестве анимационной фигуры заявки. Враще-ние анимации заявки может быть разрешено или запрещено с помощью функции enableRotation(boolean enable). Повторение этих действия еще для нескольких заявок, то все они будут отображаться одинаково.

Объекты, выполняющие операции над заявками (ресурсами, транспортера-ми), могут отображать свои активности на анимации.

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

Есть восемь типов аниматоров (они заданы константами класса Animator).

1. SINGLE.

Применим к объектам BatchQ, Combine, Delay, MatchQ, Node, ProcessQ, Queue, Resource, SeizeQ, Server.

Тип фигуры шаблона: ShapeBase — возможно использование любой фигуры.

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

2. SET.

Применим к объектам BatchQ, Delay, MatchQ, Node, ProcessQ, Queue, Resource, SeizeQ, Server.

Тип фигуры шаблона: ShapePoly — ломаная линия.

Заявки отображаются в точках заданной ломаной линии. Число одновременно отображаемых заявок ограничивается числом точек ломаной линии. Анимации заявок будут повернуты на глобальный угол поворота ломаной линии. Новая заявка будет отображена в первой свободной точке ломаной линии.

3. BAG.

Применим к объектам BatchQ, Delay, MatchQ, Node, ProcessQ, Queue, Resource, SeizeQ, Server.

Тип фигуры шаблона: ShapeRect — прямоугольник.

Заявки отображаются в случайных позициях внутри заданного прямоуголь-ника. Анимации заявок будут повернуты на угол поворота прямоугольника. Этот аниматор может одновременно отображать неограниченное количество заявок.

4. ARRANGED.

Применим к объектам BatchQ, Delay, MatchQ, Node, ProcessQ, Queue, Resource, SeizeQ, Server.

Тип фигуры шаблона: ShapeRect — прямоугольник.

Заявки упорядоченно отображаются в двумерном массиве внутри заданного прямоугольника. Размер массива задается при инициализации активного объекта (обычно он равен вместимости объекта capacity), и не может быть изменен впоследствии. Новая заявка отображается в первой свободной позиции массива. Заявки будут повернуты на угол поворота прямоугольника.

5. MOVEMENT.

Применим к объектам Delay, ProcessQ(Delay).

Тип фигуры шаблона: ShapePoly или ShapeLine — ломаная линия или линия.

Заявки двигаются вдоль линии с постоянной скоростью, так что ко времени их выхода из объекта Delay, они будут покрывать все расстояние от начальной точки линии до конечной. Поскольку времена задержек заявок могут быть разными, то заявки могут иметь различные скорости. Если ширина ломаной линии больше единицы, то заявки могут быть случайно смещены в сторону от ее оси. Анимации заявок будут повернуты на угол поворота первого сегмента ломаной линии. Этот аниматор может одновременно отображать неограниченное количество заявок. Направление движения заявок на анимации может быть любым, как от начала линии к концу, так и наоборот.

6. QUEUE.

Применим к объектам BatchQ, MatchQ, Node, ProcessQ(Queue), Queue, SeizeQ. Тип фигуры шаблона: ShapePoly — ломаная линия.

Заявки отображаются вдоль ломаной линии в том же порядке, в каком они бы-ли помещены в объект Queue. Заявка, находящаяся в очереди в нулевой позиции, отображается в конечной точке ломаной. Расстояние между соседними анимаци-ями выбирается равным длине ломаной линии, поделенной на вместимость объекта Queue (известной на момент инициализации) capacity - 1. Таким образом, первая заявка удалена на это расстояние от конечной точки линии, вторая заявка — от первой и т.д. Если новая заявка добавляется куда-нибудь в середину очереди, то анимации заявок сдвигаются в соответствии с этим правилом. Анимации заявок будут повернуты на угол поворота текущего сегмента ломаной линии. Этот аниматор может одновременно отображать неограниченное количество заявок, однако в случае динамического изменения значения capacity расстояние не пересчитывается. Начало очереди может отображаться как в начале, так и в конце ломаной линии.

7. CONVEYOR.

Применим к объекту Conveyor. Тип фигуры шаблона: ShapePoly — ломаная линия. Заявки отображаются вдоль ломаной линии в тех же позициях и с теми же скоростями, с которыми они движутся по конвейеру, длина конвейера length проецируется на всю длину ломаной линии. Анимации заявок поворачиваются на угол поворота соответствующего сегмента ломаной линии. Этот аниматор может одновременно отображать неограниченное количество заявок. Направление движения может быть любым, как от начала линии к концу, так и наоборот.

8. LANE.

Применим к объекту Lane. Тип фигуры шаблона: ShapePoly — ломаная линия.

Заявки отображаются вдоль ломаной линии в тех же позициях и с теми же скорос-тями, с которыми они движутся по объекту Lane, длина объекта Lane length прое-цируется на всю длину ломаной линии. Они поворачиваются на угол поворота текущего сегмента ломаной линии. Этот аниматор может одновременно отобра-жать неограниченное количество заявок. Направление движения может быть любым, как от начала линии к концу, так и наоборот.

Литература

Основная.

  1. Гультяев А. Визуальное моделирование в среде MATLAB. Учебный курс. Питер. 2000.-432 с.

  2. Гультяев А.К. Матлаб 5.2. Имитационное моделирование в среде Windows: Практическое пособие.- Спб.: КОРОНА принт, 1988.- 288с.

  3. Герман-Галкина С.Г. Кардонов Г.А. "Электрические машины. Лабораторные работы на ПК".- СПб.: КОРОНА принт, 2003. - 256 с. ил.

  4. Карпов Ю. Г. Имитационное моделирование систем. Введение в моделиро-вание с AnyLogic 5. – Спб.: БВХ- Петербург, 2006.- 400с.: ил.

  5. Медведев В.С., Потемкин В.Г. Нейронные сети. Матлаб 6. Под общей редакцией к.т.н. В.Г. Потемкина. Москва, Диалог- Мифи, 2002, 486с.

  6. Рыжиков Ю.И. Имитационное моделирование. Теория и технология.- СПб.: КОРОНА принт; М.: Альтекс- А, 2004.- 384 с., ил.

  7. Черных И.В. "SimPowerSystems: Моделирование электротехнических устройств и систем в Simulink". Сайт

  8. Черных И.В. SIMULINK: среда создания инженерных приложений/ Под общей ред. к.т.н. В.Г. Потемкина. – М.: ДИАЛОГ-МИФИ, 2003.- 486 с.

  9. Франс Дж., Торнли Дж.Х.М. Математические модели в сельском хозяйстве/ Пер. с англ. А.С.Каменского; под ред.Ф.И.Ерешко. Предисл.Ф.И.Нрешко и А.С. Каменского.- М.: Агропромиздат, 1987.400 с.

Дополнительная.

  1. Гиляров А.М. Популяционная экология: Учебное пособие.- М.: Изд-во МГУ, 1980.- 191с: ил.

  2. Иозайтис В.С., Львов Ю.С. Экономико-математическое моделирование производственных систем: Учебное пособие для инженерно-экономических спец. вузов.- М.: Высш. шк., 1988.- 192 с.: ил.

  3. Каюмов М.К. Программирование урожаев сельскохозяйственных культур. – М.: Агропромихдат, 1988.- 320 с.:ил.

  4. Неуструев А.А. Планирование эксперимента. – М.: МАТИ, 1985, -23 с.

  5. Тихонов А.И. , Кальнер Н.К., Класко П.М. Математическое моделиро-вание технологических процессов. Минск: Наука и техника, 1980, - 256 с.

  6. Трахтенгерц Э.Л. Компьютерная поддержка принятия решений. М., Синтэг, 1988.

  7. Уоссермен Ф. Нейрокомпьютерная техника, М., Мир, 1982.

  8. Гартман Т.Н. Основы компьютерного моделирования химико-технологи-ческих процессов: Учеб.пособие для вузов/Т.Н.гартман, Д.В.Клушин.- ИКЦ «Академкнига», 2006, -416 с.: ил.




1   2   3   4   5   6   7   8   9   10


Учебный материал
© bib.convdocs.org
При копировании укажите ссылку.
обратиться к администрации