Инфоурок Информатика Другие методич. материалыРеферат на тему "Основы имитационного моделирования в Scicos. Работа с блоками и моделями. Алгоритмы настраивания моделей"

Реферат на тему "Основы имитационного моделирования в Scicos. Работа с блоками и моделями. Алгоритмы настраивания моделей"

Скачать материал

ФБГОУ ВПО «Мордовский Государственный педагогический институт им. М.Е.Евсевьева»

 

Физико-математический факультет

 

Кафедра информатики и вычислительной техники

 

 

 Реферат

Основы имитационного моделирования в Scicos.

Работа с блоками и моделями. Алгоритмы настраивания моделей

 

 

 

 

                         

 

 

 

 

 

Выполнила: студентка  группы МДМ-214

    физико-математического факультета

                                                         Русяева Юлия

                                                         Проверила: Кормилицына Т.В.

 

 



 

                                                   Саранск 2016

Scicos (Scilab Connected Object Simulator) – составная часть пакета Scilab. Scicos в его составе обеспечивает возможность визуального моделирования динамических систем. Эти моделируемые системы могут быть как непрерывными, так и дискретными. Scicos имеет дружественный графический интерфейс пользователя для редактирования моделей, состоящих из соединенных блоков Scicos. Scicos блоки могут быть найдены в палитрах Scicos или определены пользователем.

 

Основные составные части Scicos.

 

·         Графический редактор: Scicos предоставляет иерархическому графическому редактору для строительства моделей динамических систем, используя блок-схемы. Многие предопределенные блоки также предоставлены в различных палитрах. Новые блоки могут быть определены пользователем в С или Scilab.

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

·         Симулятор: симулятор Scicos использует таблицы планирования и другую информацию, предоставленную компилятором, чтобы управлять моделированиями. Симулятор имеет гибридную природу, при которой он должен иметь дело с дискретными и непрерывными системами времени, и событиями. Для непрерывного времени используется решатель однородных дифференциальных уравнений (ОДУ) LSODAR или решатель дифференциальных алгебраических уравнений (ДАУ) DASKR в зависимости от природы рассматриваемой непрерывной системы.

·         Генератор объектного кода: Scicos может генерировать код C для того, чтобы «понять» поведение некоторых подсистем. Эти подсистемы не должны включать непрерывные во времени компоненты

 

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

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

Наличие доступа к функциям Scilab, при создании моделей очень важно.

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

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

Графические возможности Scilab могут использоваться для последующей обработки результатов моделирования.

Но интеграция Scicos и Scilab идет дальше. Редактор Scicos полностью написан на языке Scilab и это обеспечивает много преимуществ:

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

·                    гибкость в проектировании формы и изображений блоков и связей (стандартная графика Scilab);

простота разработки и отладки;

 

Обычно, создание простой новой модели Scicos предусматривает выполнение следующих операций:

1.запуска Scicos с пустым окном;

 2.открытия одной или более палитр;

3.копирования нужных блоков из палитр в окно; 4.установки параметров блоков нужной величины; 5.соединения входов и выходов блоков;

6.запуск модели;

 

Соединение блоков

 

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

           Для создания ответвления от линии делают на нужном месте два ЩЛК и тянут линию в нужное место. Или сделав ЩПК, выбирают в появившемся меню Linke. На уже выделенной связи можно сделать ЩЛК один раз. Для удаления еще не завершенной линии связи сделайте один ЩПК.

 

 

 

 

 

 

 

Следует помнить, что линии сигналов активизации, по умолчанию, красные, а основных сигналов черные. Эти цвета можно изменить, используя Default Link Color в меню Misc (прочее) или Default Link Color в меню Format.

 

 

 

 

 

 

 

 

 

 

Как только все входы и выходы будут связаны, построение модели Scicos завершено и она может быть запущена. Перед этим параметры блоков, если это необходимо, должны быть изменены. Чтобы изменить параметры блока – два ЩЛК мыши на объекте. Это открывает диалоговое меню, которое позволяет модифицировать блочные параметры. Эти параметры могут быть заданы, используя правильные выражения Scilab. Эти выражения запоминаются символически, и затем оцениваются.

 

И так два ЩЛК мыши на иконке Gain. Появляется диалоговое окно.

 

 

 

 

 

 

      Установим параметр Gain равным 7 и нажмем кнопку Ok. На иконке блока Gain появилась цифра 7.

       Запустим модель. Для этого в меню Simulation выберем опцию Setap и в появившемся окне установим конечное время работы модели ( параметр Final integration) time равным 30. Далее в меню Simulation выбираем опцию Ran. Появляется графическое окно. Оно представлено на следующем рисунке.

 

 

 

 

 

 

 

 

 

 

      Моделирование может быть остановлено с помощью кнопки Stop в правой части панели меню в основном окне Scicos. Далее работа модели может быть продолжена, перезапущена или прекращена: при нажатии кнопки Ran выпадает панелька с кнопками Continue, Restart, End.

Если желательно, то можно проделать косметические изменения ( цвета линий, цвет фона, 3D аспект, и т.п.). Тогда окно Scicos может выглядеть приблизительно так

 

 

 

 

 

 

 

 

 

       При необходимости можно сохранить результат моделирования (графическое окно) выбрав File/Save в окне диаграммы с расширением .scg. Для того, чтобы загрузить сохраненный графический результат используйте Load в меню File диаграммы. График будет загружен поверх имеющегося.

       Модели Scicos могут быть сохранены в файлах, с расширением .cos или .cosf. Например, если имя модели Untitled, создается двоичный файл Untitled.cos. Также возможно сохранение модели Scicos в формате ASCII с рас-ширением .cosf. Преимущество сохранения в формате ASCII в том, что оно машинонезависимое.

      

 

Установка параметров моделирования

 

Модель Scicos может работать от t = 0 до указанного времени окончания работы. В зависимости от модели используется решатель для обычного дифференциального уравнения (ОДУ) или решатель для дифференциального алгебраического уравнения (ДАУ), а если модель является дискретной, ни один из них не используется. У каждой задачи есть свои собственные специфические особенности. Это требует некоторой гибкости при моделировании и анализе моделей. Рассмотрим параметры моделирования, которые пользователь должен задать прежде, чем начать моделирование.

            Время окончания работы (Final Simulation Time): это время по умолчанию составляет 10000  секунд, время начала работы всегда равно нулю.

Вычисление в режиме реального времени (Realtime Scaling): время моделирования и фактическое время не одинаково. Например, моделирование десяти секунд обычно не занимает десять секунд реального счета. Реальное время зависит от многих факторов, включая сложность модели, размеры шага выбранного решателя и быстродействие компьютера. В основном время моделирования меньше , чем реальное время. Эта опция увеличивает время реального моделирование, устанавливая единицу времени Scicos в одну секунду.

       Отклонение (Tolerances): относительное допустимое отклонение задает ошибку относительной величины каждого состояния, то есть, процент от величины. Например, 10-6 означает, что точность вычисленного состояния в пределах 10-4 %. Абсолютное отклонение, представляет приемлемую ошибку. Его величина по умолчанию 10-4.

Максимальный шаг (Maximum Step-size): максимальный шаг задает наибольший шаг интегрирования, который может выбрать решатель. Величина по умолчанию 100001 (inf). Эта установка важна тем, что ограничивает шаг интеграции, препятствуя тому, чтобы решатель не выбрал слишком крупный шаг.

             Максимальный временной интервал интегрирования (Maximum Inte-gration Time Interval): максимальный временной интервал для каждого вызова решателя. Он должно быть уменьшен, если поступает сообщение «too many calls» (слишком много запросов).

             Допустимое время (Tolerance on Time): наименьший временной интервал, для которого используется численный решатель, чтобы обновить непрерывные величины.

 

Блок-схема в Scicos

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

 

 

 

 

Отношения между каждой элементарной динамической системой в блок-схеме иллюстрированы при помощи сигналов, соединяющих блоки. Все вместе блоки и линии в блок-схеме описывают полную динамическую систему.

 

 

 

 

 

 

 

 

 

 

 

 

Самый простой элемент модели – блок. На блок поступает входной сигнал и он, с учетом своих динамических свойств , формирует выходной сигнал. Детали внутреннего устройства каждого блока скрыты от внешней части модели, т.е. он похож на черный ящик. Другими словами модель «интересуется» только отношениями в блоке между входом и выходом. В общем, каждый блок имеет структуру, показанную на следующем рисунке.

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Отношения между входом и выходом блока определены рядом непрерывных и дискретных уравнений. Эти уравнения определяют отношения между сигналами, формируют сигналы и переменные внутренних состояний.

Дискретные события играют важную роль в моделях гибридных систем. Чтобы явно определить дискретные события, в Scicos используют специальные связи. Их называют связями активации, в отличие от основных связей. Источник активации может активизировать несколько непрерывных или дискретных блоков. Модель Scicos может содержать несколько источников событий. В связи с событиями в моделях Scicos нужно учитывать два важных момента: существуют одновременные события и синхронные события.

·         Два события одновременны, только если они активизированы в одно и то же время.

·         Два события синхронны, только если они активизированы одним и тем же блоком.

·         Два одновременных события не обязательно синхронны, и два синхронных события не обязательно одновременны .

 

 

Иерархия (суперблоки)

 

Модель, состоящая из очень большого количества блоков не удобна, ее трудно запомнить, работа с ней и ее отладка затруднены . Для больших систем полезно использовать средства создания иерархической модели.

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

 

 

 

 

 

 

 

 

Разместим интегратор и усилитель в суперблоке. Для этого можно выбрать Region to super blok в меню Diagram и затем выбрать область, которую нужно поместить в суперблок (удерживая левую клавишу мыши, образовать охватывающий нужные блоки прямоугольник). Суперблок создан. Он заменяет два блока.

 

 

 

 

 

 

 

Проверим состав суперблока. Для этого сделаем двойной ЩЛК на супер-блоке. Он открывается в новом окне.

 

 

 

 

 

 

 

 

 

 

Выйдем из суперблока (меню Diagram/To main diagram) и запустим мо-дель Scicos. Получаем такой результат

 

 

 

 

 

 

 

 

 

 

 

 

Возможен другой путь создания суперблока. Откроем пустое окно Scicos и копируйте в него пустой суперблок из палитры Others. Откройте суперблок щелкая на нем и заполните его необходимыми блоками. Ниже на рисунке показан суперблок, созданный вторым способом и его содержимое.

 

 

 

 

 

Созданный суперблок имеет два выходных сигнальных порта и один входной порт. Теперь суперблок может быть использован подобно любому другому блоку. Подключите его порты к другим блокам и Ran!

 

Переход через нулевой уровень

 

Пересекающие нулевой уровень события (и соответствующие блоки палитры Treshold) введены, чтобы преодолеть трудность в моделировании непрерывных систем, когда есть некоторые «прерывания», т .е. резкие изменения (скачки) сигналов. Эти явления могут вызвать ошибки при использовании используемых методов интеграции. Численный решатель Scicos, благодаря механизму обнаружения моментов перехода через ноль, может обнаружить такие события. Для обычных случаев в Scicos используется блок пересечения нуля. Цель этого блока состоит в том, чтобы при обнаружении «разрывов» (скачков) сигналов производить переключения уравнений системы.

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

     В некоторых приложениях, в дополнение к установлению факта пересечения, мы должны знать направление пересечения. Для этих целях в Scicos имеются два других блока: блок «+ to –» и блок «– to +», которые фиксируют не только факт пересечения, но и учитывают направление этого пересечения.

Рассмотрим простой сеанс Scicos, чтобы проиллюстрировать использование блоков нулевого пересечения.

Мы уже столкнулись с часами активации Event Clock, которые генерировали последовательность равномерно расположенных во времени событий. Они были использованы, чтобы активизировать Scope. Откроем пустое окно Scicos. Создадим следующую модель, копируя блоки из палитр.

 

 

 

 

 

 

 

       Блок «+to-» находим в палитре Treshold, S/H-блок (sample and hold, образец и сохранение) – в палитре линейных блоков и cos-блок – в нелинейной палитре. Отметим, что блок MScope имеет 3 входа. Количество входов MScope является параметром блока; его нужно установить прежде, чем входы будут подсоединены.

       Блок «+to-» генерирует событие каждый раз, когда входной сигнал пере-секает нулевой уровень, изменяясь от плюса к минусу. Входной сигнал должен быть непрерывной функцией времени. Эти события активизируют блок S/H, который копирует входной сигнал (образец) на свой выход. Сигнал на выходе не изменяется до следующей активации блока.

 

Результат счета показан на рисунке.

 

 

 

 

 

 

 

 

 

 

Параметр амплитуды блока генератора sinusoid установлен 8.7. События, с выхода блока пересечения нулевого уровня, были использованы для генерации дискретных сигналов. Эти дискретные сигналы могут быть использованы в свою очередь для управления непрерывными компонентами. Это часто делается в управляющей системе, где дискретные контроллеры управляют непрерывными системами. Простой пример:

 

 

 

 

 

 

 

 

Дискретный сигнал возвращается в непрерывную часть схемы. Отметим, что у генератора прямоугольных волн выходной порт слева (в линейной палитре, выход у этого блока справа). Это сделано посредством использования команды Flip в меню Editor. Этот блок выдает на выход 0 или 1, переключение производится сигналом активации. Результат моделирования показан ниже

 

 

 

 

 

 

 

 

 

 

Блоки с условием

 

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

 

 

 

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

Сигналы на выходах этих блоков взаимоисключающи.

 

Чтобы показать применение блока "Then-If-Else" рассмотрим следующую схему

 

 

 

 

 

 

 

 

 

 

 

 

 

У селектора есть два входных порта активации. Блок может быть активизирован в данный момент только одним из них. Всякий раз, когда селектор активизирован по первому или второму входу входной сигнал принимается на вход также с первого или второго входа основного сигнала соответственно. Таким образом, на выходе селектора присутствует пилообразный сигнал, если сигнал random generator положительный и прямоугольный волновой сигнал, если сигнал random generator отрицательный.

Если блок, "Then-If-Else" не имеет входного порта активации, он управляет блоками непрерывного сигнала, которые получают активацию по другим цепям. В этом случае, численный решатель видит только те блоки, которые находятся в активной ветви блока "If-then-Else".

Блоки «Event sele сt» также считаются синхронными блоками. У него есть встроенный индикатор пересечения нуля. Блок имеет один вход и в любой момент активизирован только один выход.

 

Векторный вход-выход

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

Создадим следующую схему, копируя блоки из палитр.

 

 

 

 

 

 

 

 

 

 

 

 

 

Mux ( мультиплексор) находится в палитре Branching (расширение). Этот блок может иметь любое количество входов, в том числе и векторных; выход является вектором, полученным как конкатенация входов.

Единственный параметр этого блока – количество входов; нет необходимости определять размерность каждого входа. Scicos определяет эту размерность по блоку, с которым связан входной порт.

В вышерассмотренном примере, входы размерностью единица и , следовательно, выход является двумерным вектором. Аналогично для Scope (здесь - нет необходимости определять размер входного вектора, это делается автоматически.

 

 

 

 

 

 

 

 

 

Изменим схему следующим образом.

 

 

 

 

 

 

          Блок Demux производит действие, противоположное блоку Mux, то есть разделяет входной вектор на векторы меньшего размера. Demux отменяет то, что сделал Mux.

Чтобы избежать наложения сигналов, убедитесь, что были устанавлены параметры MScope – два входа. При этом он будет использовать два графических окна.

    

Изменим схему.

 

 

 

 

 

 

 

 

 

 

Новый блок является линейной динамической системой.

 

 

Моделирование гибридных систем

 

Непрерывные и дискретные сигналы, зависящие от событий могут взаимодействовать по -разному. Во-первых, они могут быть входами одного блока. По существу, нет никакого различия между дискретным и непрерывным сигналом. Фактически сигнал Scicos может быть дискретным в течение какого-то времени, а потом непрерывным. Это означает, что в Scicos можно выполнять совместные операции с непрерывными и дискретными сигналами. Непрерывные сигналы могут создавать события через блоки пересечения нуля.Наконец, события могут создать скачки в непрерывных состояниях так же как в дискретных.

 

Непрерывные и постоянно активные блоки

 

Блок может быть всегда объявлен активным, заданием параметра dep_t = True. Это означает, в частности , что блок непрерывный , то есть, его выходные сигналы и его состояния могут изменяться непрерывно во времени. Механизм наследования также относится и к непрерывному блоку. Если следовать формализму Scicos, активность всегда должна определяться сигналом, полученным на входном порту активации. Однако, чтобы избежать излишней сложности, это свойство просто определено как свойство блока. Есть множество блоков в палитрах Scicos, которые являются постоянно активными. Эти блоки могут использоваться с другими блоками, чтобы строить гибридные схемы.

 

 

 

 

 

 

 

В этом примере генератор синусоиды и блок интегратора (1/s) всегда ак-тивны. Блок ABS (вычисление абсолютной величины) наследует активность от генератора синусоиды.

Блок активации с условием также работает с непрерывными сигналами. Рассморим схему.

 

 

 

 

 

 

 

 

 

 

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Реферат на тему "Основы имитационного моделирования в Scicos. Работа с блоками и моделями. Алгоритмы настраивания моделей""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Противопожарный инженер

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Основы имитационного моделирования в Scicos. Работа с блоками и моделями. Алгоритмы настраивания моделей.Scicos (Scilab Connected Object Simulator) – составная часть пакета Scilab. Scicos в его составе обеспечивает возможность визуального моделирования динамических систем. Эти моделируемые системы могут быть как непрерывными, так и дискретными. Scicos имеет дружественный графический интерфейс пользователя для редактирования моделей, состоящих из соединенных блоков Scicos. Scicos блоки могут быть найдены в палитрах Scicos или определены пользователем.Основные составные части Scicos.Графический редактор: Scicos предоставляет иерархическому графическому редактору для строительства моделей динамических систем, используя блок-схемы. Многие предопределенные блоки также предоставлены в различных палитрах. Новые блоки могут быть определены пользователем в С или Scilab. Компилятор: компилятор Scicos использует образцовое описание, обычно собираемое редактором Scicos, построить столы планирования, которые могут тогда использоваться тренажером и кодовой функцией поколения. Симулятор: симулятор Scicos использует таблицы планирования и другую информацию, предоставленную компилятором, чтобы управлять моделированиями. Симулятор имеет гибридную природу, при которой он должен иметь дело с дискретными и непрерывными системами времени, и событиями. Для непрерывного времени используется решатель однородных дифференциальных уравнений (ОДУ) LSODAR или решатель дифференциальных алгебраических уравнений (ДАУ) DASKR в зависимости от природы рассматриваемой непрерывной системы. Генератор объектного кода: Scicos может генерировать код C для того, чтобы «понять» поведение некоторых подсистем. Эти подсистемы не должны включать непрерывные во времени компоненты

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 660 615 материалов в базе

Скачать материал

Другие материалы

Контрольная работа по информатике по теме «Компьютер как универсальное устройство для обработки информации»
  • Учебник: «Информатика», Босова Л.Л., Босова А.Ю.
  • Тема: Глава 2. Компьютер как универсальное устройство для работы с информацией
Рейтинг: 3 из 5
  • 10.01.2021
  • 2083
  • 60
«Информатика», Босова Л.Л., Босова А.Ю.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 10.03.2020 205
    • DOCX 800.3 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Байкова Ирина Борисовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Байкова Ирина Борисовна
    Байкова Ирина Борисовна
    • На сайте: 3 года и 3 месяца
    • Подписчики: 0
    • Всего просмотров: 83797
    • Всего материалов: 236

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Специфика преподавания информатики в начальных классах с учетом ФГОС НОО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 39 человек из 20 регионов
  • Этот курс уже прошли 284 человека

Курс повышения квалификации

Использование компьютерных технологий в процессе обучения информатике в условиях реализации ФГОС

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 139 человек из 43 регионов
  • Этот курс уже прошли 1 297 человек

Курс профессиональной переподготовки

Информационные системы и технологии: теория и методика преподавания в профессиональном образовании

Преподаватель информационных систем и технологий

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Этот курс уже прошли 13 человек

Мини-курс

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

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 214 человек из 57 регионов
  • Этот курс уже прошли 66 человек

Мини-курс

Психология и педагогика в работе с детьми: эмоциональные и зависимые расстройства

5 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 51 человек из 22 регионов
  • Этот курс уже прошли 23 человека

Мини-курс

Эффективная самопрезентация

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 55 человек из 31 региона
  • Этот курс уже прошли 32 человека