Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MATLAB Simulink. Компьютерное моделирование экономики

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
4.9. Создание подсистем
ладчике. Для этого в окне текущего справочника MATLAB щелк­ните мышью по имени файла, правой кнопкой вызовите контек­стное меню, выберите команду Open as Text.
Текст файла откроет-
ся в редакторе.
Случаи из жизни. При переходе с 5-й версии MATLAB на 6-ю не шли старые программы. Автор долго мучился, копаясь в тек­стовых представлениях моделей. Оказалось, фирма Mathworks, Inc приватизировала код русской буквы «я». Пришлось удалить ее из старых моделей. Студенты возмущались неграмотностью препода­вателя, который вместо «налогообложения» писал «налогообложе­ни...».
В одном из вузовских компьютерных классов в версии MAT­LAB 7.1 не шли старые модели. Центральный компьютер препода­вателя имел русское сетевое имя. Оно вставлялось в строку 55 лю­бой модели как имя последнего модификатора LastModifiedBy «Преподаватель». При сохранении модели объявлялась ошибка кодировки.
Текстовое представление модели позволяет быстро выявить та­кие ошибки просмотром текста модели.
4.9. Создание подсистем
Если возрастают сложность и размер модели, ее можно упрос­тить, сгруппировав блоки в подсистемы. Использование подсис­тем дает следующие преимущества:
сокращение количества блоков, выводимых в окне модели;объединение функционально связанных блоков вместе;возможность создания иерархических блок-схем.
Äëÿ
создания подсистем существуют следующие возможности:
Добавить блок Subsystem â
модель, затем открыть этот блок и
создать подсистему в открывшемся окне подсистемы.
Выделить часть блок-схемы модели и объединить ее в подси-
стему.
Создание подсистемы добавлением блока Subsystem
Скопируйте блок Subsystem из библиотеки Ports & Subsystems в модель.
Откройте блок Subsystem, дважды щелкнув по нему.
61
4. Редактирование модели, реконструкция и расширение
В пустом окне подсистемы создайте подсистему. Используйте блоки In è Out для создания входов и выходов подсистемы.
Создание подсистемы группировкой существующих блоков
Если модель уже содержит блоки, которые необходимо объеди­нить в подсистему, ее можно создать группировкой этих блоков:
Выделите объединительным боксом блоки и соединительные линии, которые необходимо включить в подсистему.
Выберите команду Create Subsystem èç ìåíþ Edit. Simulink за­менит выделенные блоки блоком Subsystem.
Если открыть блок Subsystem, Simulink отобразит подсистему. Simulink добавляет блоки In è Out для отображения входа и выхо­да в систему более высокого уровня.
Применение подсистем широко представлено в примерах моде­лирования экономики в следующей главе.
4.10. Сводные таблицы действий
по редактированию блок-схем
Обозначения: ЛКМ — левая клавиша мыши, ПКМ — правая клавиша мыши.
Действия мышью и клавиатурой при манипуляции блоками.
Задача Действие
Выделение блока ËÊÌ
Выделение нескольких блоков Shift+ËÊÌ
Двигать блок Двигать ЛКМ
Копирование блока Ctrl+ЛКМ и переместить или ПКМ и переместить
Соединение блоков ËÊÌ
Отсоединение блока Shift+переместить блок
Действия мышью и клавиатурой по манипуляции линиями
Задача Действие
Выделение линии ËÊÌ
Выделение нескольких линий Shift+ËÊÌ
Создание разветвляющейся линии Ctrl+нарисовать линию или ПКМ+ нарисовать линию
62
4.10. Сводные таблицы действий по редактированию блок-схем
Задача Действие
Создание диагональной линии Shift+нарисовать сегмент
Перемещение сегмента линии Переместить сегмент ЛКМ
Перемещение излома Переместить излом ЛКМ
Создание сегмента линии Shift+переместить линию
Действия мышью и клавиатурой по манипуляции метками сиг­налов
Задача Действие
Создание метки сигнала Двойной щелчок по линии, затем ввести метку
Копирование метки сигнала Ctrl+переместить метку ЛКМ
Перемещение метки сигнала Переместить метку ЛКМ
Редактирование метки сигнала Щелкнуть по метке, затем редактировать
Удаление метки сигнала Shift+щелкнуть по метке, затем нажать Del
Действия мышью и клавиатурой по манипуляции комментари­ями
Задача Действие
Создание комментария Двойной щелчок в модели, затем ввести текст
Копирование комментария Ctrl+переместить комментарий ЛКМ
Перемещение комментария Переместить комментарий ЛКМ
Редактирование комментария Щелкнуть по тексту, затем редактировать
Удаление комментария Shift+выделить комментарий, затем нажать Del
63
5. Примеры моделирования экономики
5.1. Оптимальная ставка налога
В первой работе методами имитационного моделирования мы будем искать оптимальную ставку налогообложения прибыли. Здесь используется простейший метод поиска на сетке факторов. Планирование экспериментов заключается в изменении факторов с постоянным шагом и построении экспериментальных графиков зависимости ставки от факторов. Оптимальные величины ставок определяются не алгоритмически (программой), а визуально по графикам.
5.1.1. Определение проблемы
Государство стремится бюджет для выполнения своих социально-экономических и обо­ронных функций.
Бизнес жалуется, что налоговое бремя велико и налоговые став­ки надо уменьшить.
Экономисты утверждают, что большие налоги сдерживают раз­витие экономики, а значит и будущее наполнение бюджета.
Проблема: теория и практика, законодатели (парламенты и думы) не знают обоснования величин приемлемых для всех нало­говых ставок. Ни в одном законе ни одного государства вы не найдете обоснования величины налоговых ставок. Парламентарии берут их с потолка и изменяют методом проб и ошибок.
Уточнение и ограничение проблемы. Несмотря на массу налогов и терминов источником развития бизнеса и источником налогово­го наполнения бюджета в конечной инстанции является прибыль предприятий, т. е. превышение доходов над расходами. Поэтому исследуем лишь ставку налога на прибыль.
Рабочая гипотеза. Поступления в бюджет за определенный пе­риод времени будут наибольшими не при максимальной, а при оптимальной для бюджета ставке налога. С ростом налоговой ставки поступления в бюджет будут увеличиваться, а затем умень­шаться.
Постановка задачи: исследовать зависимость поступлений в бюджет от величины налоговой ставки на прибыль. Невозможно в
увеличить налоги, чтобы наполнить
64
5.1. Оптимальная ставка налога
реальной экономике каждый месяц или год менять законом нало­говые ставки и регистрировать поступления в бюджет. Мы разру­шим экономику. Остается только моделировать.
5.1.2. Определение проблемной системы
В проблемную систему включаем объекты, их взаимосвязи и показатели,
от которых зависит решение проблемы.
Законодатель объявляет ставку налога. Бюджет получает нало­говые отчисления от прибыли предприятий.
Фирмы обладают собственным капиталом, производят при­быль, отчисляют по налоговой ставке средства в бюджет. Постна­логовая прибыль как нераспределенная прибыль полностью вклю­чается в собственный капитал фирмы. Дивиденды не выплачива­ются, никаких других отчислений от прибыли не производится. Вся прибыль распределяется только на два потока: в бюджет, а остаток в собственный капитал фирмы.
5.1.3. Математические модели элементов системы
Сумму налоговых поступлений в бюджет за моделируемый пе-
времени можно представить формулой:
ðèîä
ttf
=
BD PRF TXRT
=
å
tt
ttb
=
*
ãäå BD
— сумма поступивших в бюджет средств от момента нача-
t
ла моделирования к концу года t, руб.;
— доналоговая прибыль (profit), полученная предприятием
PRF
t
çà ãîä t, ðóá/ãîä;
TXRT — ставка налога на прибыль (tax rate);
t — время, год. Для запасов это момент — конец года, для пото-
ков это интервал времени определенного года;
tb — начальный (begin) интервал моделирования;
tf — последний (final) год моделирования.
Капитализируемый предприятием за период моделирования остаток прибыли
ttf
=
=-
CP PRF TXRT
å
tt
ttb
=
*( )1
Прибыль за t ãîä
PRF CP RN
= *
tt
65
5. Примеры моделирования экономики
ãäå RN — рентабельность капитала предприятия. Задается как па­раметр предприятия, исходное данное.
Исходные данные для параметров, переменных и показателей модели
В качестве исходных данных задаются числовые значения: на­логовой ставки, рентабельности, начального капитала фирм и ин­тервала моделирования.
Средства управления экспериментом включают программы авто­матического ввода экзогенных факторов и отображения таблиц и графиков отчислений в бюджет и роста капитала предприятия. На первых этапах работы полная автоматизация планирования экспе­риментов и обработки результатов нецелесообразна, поскольку студент получает готовые результаты, не проявив активности, творчества, поиска.
Техника выполнения. Устанавливать для предприятий различ­ные ставки налогов, измерять поступления в бюджет и характери­стики развития предприятий и экономики.
5.1.4. Математическая модель в непрерывном времени
Сумма налоговых поступлений от предприятий за моделируе­мый
период накапливается на бюджетных счетах и представляется
интегралом:
ttf
=
() ()* *=
BD t PRF t TXRT dt
ò
ttb
=
ãäå BD(t) — сумма поступивших в бюджет средств от начала моде­лирования к моменту t, руб.;
PRF(t) — доналоговая прибыль (profit), получаемая предприяти­ем в момент t, руб./год;
TXRT — ставка налога на прибыль (tax rate);
t — текущее время, год.
tb — начальный (begin) момент моделирования;
tf — последний (final) момент моделирования.
Капитализируемый предприятием за время моделирования остаток прибыли
ttf
=
CP t PRF t TXRT dt
() ()*( )*=-
ò
ttb
=
1
Прибыль в момент t
66
5.1. Оптимальная ставка налога
PRF(t)=CP(t)*RN,
ãäå RN — рентабельность капитала предприятия. Задается как па­раметр предприятия, исходное данное.
5.1.5. Компьютерная модель в программе Simulink
Компьютерная Simulink-модель представляется â виде блок-схемы,
содержащей типовые функциональные блоки систем управления и управляемых объектов. В блоки включены компью­терные программы, вычисляющие математические функции. Значки на блоках представляют формулы аналитических выраже­ний передаточных функций как отношение выходной информа­ции к входной.
Вначале студент составляет модель из типовых элементов биб­лиотеки на листе бумаги. Затем за компьютером таскает мышью блоки из окна библиотеки в окно модели и соединяет их стрелка­ми, моделирующими материальные, денежные и информацион­ные потоки, запасы и сигналы.
Окно модели представлено на рис. 5.1.
Рис. 5.1. Модель для определения оптимальной ставки
налогообложения прибыли предприятия
67
5. Примеры моделирования экономики
На схеме левый блок с именем «Бизнес» представляет накопи­тель собственного капитала предприятия, из библиотеки элемен­тов. Он взят как блок «Интегратор дискретного времени». На вход блока поступает поток капиталовложений CapF. Это постналого­вая, нераспределенная прибыль. Она аккумулируется бизнесом и увеличивает его собственный капитал. Выход блока — это величи­на капитала бизнеса CapS.
Справа от бизнеса блок умножения (с крестиком) производит поток прибыли PrfF как произведение капитала предприятия на рентабельность Rntb.
Рентабельность задается библиотечным блоком «Константа» с именем Rntb. Под ним как комментарий задан вектор плана экс­периментов по фактору рентабельности [0.2:0.2:0:8]. В матричной лаборатории Matlab это означает, что мы начнем имитационные эксперименты для рентабельности, равной 20%, с шагом в 20% и последним экспериментом для 80%. Для автоматизации экспери­ментов константу рентабельности мы можем заменить на перемен­ную и управлять ее значениями из программного файла Matlab.
Ниже блока рентабельности расположен блок Scope1 — это графопостроитель для отображения переменной капитала пред­приятия CapS.
Следующий блок умножения (с крестиком) выдает произведе­ние потока прибыли на налоговую ставку TaxRate. Это поток от­числений от прибыли в госбюджет TxF.
Ставка налога задается библиотечным блоком «Константа» с именем TaxRate. Под ним как комментарий задан вектор плана экспериментов по фактору налоговая ставка [0:0.1:1:0]. Это озна­чает, что мы начнем имитационные эксперименты для ставки, равной 0%, с шагом в 10% и последним экспериментом для 100%. Для автоматизации экспериментов константу налоговой ставки мы можем заменить на переменную и управлять ее значениями из программного файла Matlab.
Блок Госбюджет представлен интегратором. Он аккумулирует налоговые поступления TxF за период моделирования в виде пе­ременной BdjS. Справа от него блок Scope строит график накоп­ления средств от налога в бюджете. Блок Display отображает чис­ловые значения BdjS.
Круглый блок вверху вычисляет прибыль в распоряжении пред­приятия как разницу между доналоговой прибылью и частью при­были, отчисляемой по налоговой ставке в бюджет.
68
5.1. Оптимальная ставка налога
Исходные данные для параметров, переменных и показателей модели
В качестве исходных данных задаются числовые значения: на­логовой ставки, рентабельности, начального капитала фирм и ин­тервала моделирования.
Метод решения
Выполняется имитационное моделирование процесса развития предприятия и накопление налоговых средств в бюджете во вре­мени решением системы дифференциальных уравнений стандарт­ными средствами Matlab и Simulink.
Средства управления экспериментом
Средства отображения информации о показателях эксперимен­тов — это графопостроители Scope и индикаторы чисел Display.
Средства управления экспериментом — это диалоговые окна констант-факторов: ставки налога и рентабельности. Двойным щелчком мыши студент открывает окна и меняет значения факто­ров. Устанавливает для предприятий различные ставки налогов, измеряет поступления в бюджет и характеристики развития пред­приятий.
На первых этапах работы полная автоматизация планирования экспериментов и обработки результатов нецелесообразна, поско­льку студент получает готовые результаты, не проявив активности, творчества, поиска. После ручного управления экспериментом, когда улучшилось понимание и знание предмета исследования, можно приступить к автоматизации планирования и управления экспериментом. Для этого составляется программа на языке Mat­lab в файле с расширением.m.
5.1.6. Программа управления экспериментами
Это лишь вариант программы. Продвинутый студент, посещав-
в детстве садик с компьютерным уклоном, напишет програм-
ший му получше.
%Optimal profit tax rate simulation %File: C:\Csr_MtLb\TxRt\TaxRate_DscM.m and TaxRate_Dsc.mdl %========================================= path(path,'C:\Csr_MtLb\TxRt') %Set model Path %========================================= open_system('TaxRate_Dsc') %Load TaxRate_Dsc.mdl
69
5. Примеры моделирования экономики
TaxRate=[0:0.05:0.7] %План-вектор эксперимента по ставке налога for Rntb = 0.2:0.2:1 %Цикл и план-вектор по рентабельности sim('TaxRate_Dsc') %Run model plot(TaxRate, ScopeData(end,2:end)) %Чертить график поступлений в бюджет hold on %Разрешить дополнение графика кривыми grid %Чертить сетку end hold off %Запретить дополнение графика %======= end TaxRate_DscM.m program ===============
В m-файле программы за знаком процента всегда идут поясня­ющие комментарии. Они не являются командами и компьютером не исполняются.
В первой строке программы дается ее назначение или смысло­вое название. Во второй строке полное имя.m-файла, содержаще­го нашу программу для управления экспериментами над Simu­link-моделью и имя файла Simulink-модели с расширением.mdl.
Четвертая строка устанавливает путь файловой системы к модели.
Шестая строка командой open_system загружает с диска модель в оперативную память.
Седьмая строка присваивает переменной модели TaxRate век­тор плана экспериментов по налоговой ставке.
В строкахс8по13выполняется цикл for end для проведения экспериментов при различных величинах рентабельности бизнеса.
В девятой строке командой sim запускается модель и начинает­ся моделирование, имитация налогового взаимодействия государ­ства и предприятия.
После окончания имитации команда plot чертит один график, используя данные рабочего (workspace) пространства Matlab, запи­санные туда графопостроителем Scope. Оператор hold on разреша­ет дополнять рисунок графиками кривых, рассчитанными для сле­дующих значений циклов рентабельности.
5.1.7. Порядок выполнения работы
Вид экрана лабораторной модели представлен на рис. 5.2.
Слева
расположено окно редактора программ с частичной ви­димостью м-файла программы управления двухфакторным экспе­риментом. Справа вверху Simulink-модель. Справа внизу окно Scope с графиками накопления средств в бюджете для различных
70