ТОП 10:

Б.1. Текст головної програми імітаційної моделі



Нижче подано текст головної програми, в якій змодельовано залежність динамічних процесів в економіці від зміни заробітної плати робітникам.

 

clc; %

close all; %

clear; %

 

% Глабальні змінні, що описують структуру суспільства і розходу коштів

global alfa00; global beta00;

global alfa01; global beta01;

global alfa02; global beta02;

global alfa03; global beta03;

global alfa04; global beta04;

global alfa05; global beta05;

 

% Структура розходу коштів в різних суспільних групах

alfa00 = 1.00; beta00 = 0.00; % пенсiонeри

alfa01 = 1.00; beta01 = 0.00; % робітрики

alfa02 = 1.00; beta02 = 0.00; % прац.культури

alfa03 = 1.00; beta03 = 0.00; % службовці

alfa04 = 0.40; beta04 = 0.60; % власники МП

alfa05 = 0.20; beta05 = 0.80; % власники ВП

 

% Масив параметрів структури розходу коштів

tmp2 = [

alfa00, beta00

alfa01, beta01

alfa02, beta02

alfa03, beta03

alfa04, beta04

alfa05, beta05

];

% Нормування часток розходу коштів на одиницю

sum_tmp2 = sum(tmp2, 2);

kkk_tmp2 = zeros(size(tmp2));

tmp2_norm = zeros(size(tmp2));

for iii = 1:1:6

tmp2_norm(iii, :) = tmp2(iii, :) / sum_tmp2(iii);

end;

 

% Присвоення нормованих значень елементам, що описують структуру розходу коштів

alfa00 = tmp2_norm( 1,1); beta00 = tmp2_norm( 1,2);

alfa01 = tmp2_norm( 2,1); beta01 = tmp2_norm( 2,2);

alfa02 = tmp2_norm( 3,1); beta02 = tmp2_norm( 3,2);

alfa03 = tmp2_norm( 4,1); beta03 = tmp2_norm( 4,2);

alfa04 = tmp2_norm( 5,1); beta04 = tmp2_norm( 5,2);

alfa05 = tmp2_norm( 6,1); beta05 = tmp2_norm( 6,2);

 

% Накладні виробничі витрати

global lambda04; lambda04 = 0.03; % власників малих підприеств

global lambda05; lambda05 = 0.04; % власників великих підприємств

 

% Сталий дохід

global s00; s00 = 1100.00; % Пенсія.

global s01; s01 = 2200.00; % Зарплата робітриків

global s02; s02 = 2900.00; % Зарплата прац.культури

global s03; s03 = 3200.00; % Зарплата службовців

global s04; s04 = 0; % Не мають зарплати

global s05; s05 = 0; % Не мають зарплати

global s06; s06 = 0; % Не мають зарплати

 

% Економічна структура суспільства (відносна кількість членів)

global nnn00; nnn00 = 0.15; % Кiлькiсть пенсiонeрiв

global nnn01; nnn01 = 0.45; % Кiлькiсть робітриків

global nnn02; nnn02 = 0.15; % Кiлькiсть прац.культури

global nnn03; nnn03 = 0.17; % Кiлькiсть службовців

global nnn04; nnn04 = 0.12; % Кiлькiсть власників МП

global nnn05; nnn05 = 0.08; % Кiлькiсть власників ВП

 

% Податки

global kapa0; kapa0 = 0.15; % Податок на дохід (з фізичних осіб)

global kapa1; kapa1 = 0.15; % Податок на фонд зарплати

global kapa2; kapa2 = 0.15; % податок на прибуток (з підприемців)

 

% Параметр інерційності ціноутворення.

global teta_pa ; teta_pa = 0.002;

 

% Індекси динамічних змінних у векторі стану

global i_u00; i_u00 = 1; % Заощадження пенсiонeрiв

global i_u01; i_u01 = 2; % Заощадження робітриків

global i_u02; i_u02 = 3; % Заощадження прац.культури

global i_u03; i_u03 = 4; % Заощадження службовців

global i_u04; i_u04 = 5; % Заощадження власників МП

global i_u05; i_u05 = 6; % Заощадження власників ВП

global i_ppp; i_ppp = 7; % Ціна

%=========================================================

 

% Масив назв дмнамічних змінних

name_y = {

'Заощадження пенсiонeрiв ', % i_u00 = 1

'Заощадження робітників ', % i_u01 = 2

'Заощадження пр.культури ', % i_u02 = 3

'Заощадження службовців ', % i_u03 = 4

'Заощадження власників МП ', % i_u04 = 5

'Заощадження власників ВП ', % i_u05 = 6

'Ціна ', % i_ppp = 7

};

% Початкові умови (6.16) задачі Коші

y0 = [

124.00; % i_u00 = 1; %Заощадження пенсiонeрiв

900.00; % i_u01 = 2; %Заощадження робітриків

330.00; % i_u02 = 3; %Заощадження прац.культури

380.00; % i_u03 = 4; %Заощадження службовців

500.00; % i_u04 = 5; %Заощадження власників МП

550.00; % i_u05 = 6; %Заощадження власників ВП

24.00; % i_ppp = 7; %Ціна

];

y0 = y0';

 

% Проміжок числового розвязування СЗДР

tspan = [1, 30.1]; % [t0, tK]

 

% Програмні обєкти для відображеня графіків

fff_u00 = figure('Name', 'u00', 'Position',[180 230 755 340]);

fff_u01 = figure('Name', 'u01', 'Position',[180 230 755 340]);

fff_u02 = figure('Name', 'u02', 'Position',[180 230 755 340]);

fff_u03 = figure('Name', 'u03', 'Position',[180 230 755 340]);

fff_u04 = figure('Name', 'u04', 'Position',[180 230 755 340]);

fff_u05 = figure('Name', 'u05', 'Position',[180 230 755 340]);

fff_paa = figure('Name', 'paa', 'Position',[180 230 755 340]);

fff_z00 = figure('Name', 'z00', 'Position',[180 230 755 340]);

fff_z01 = figure('Name', 'z01', 'Position',[180 230 755 340]);

fff_z02 = figure('Name', 'z02', 'Position',[180 230 755 340]);

fff_z03 = figure('Name', 'z03', 'Position',[180 230 755 340]);

fff_z04 = figure('Name', 'z04', 'Position',[180 230 755 340]);

fff_z05 = figure('Name', 'z05', 'Position',[180 230 755 340]);

 

% Явний опис координат для відображення графіків

axeu00 = axes('Parent',fff_u00); box(axeu00, 'on');

axeu01 = axes('Parent',fff_u01); box(axeu01, 'on');

axeu02 = axes('Parent',fff_u02); box(axeu02, 'on');

axeu03 = axes('Parent',fff_u03); box(axeu03, 'on');

axeu04 = axes('Parent',fff_u04); box(axeu04, 'on');

axeu05 = axes('Parent',fff_u05); box(axeu05, 'on');

axepaa = axes('Parent',fff_paa); box(axepaa, 'on');

axez00 = axes('Parent',fff_z00); box(axez00, 'on');

axez01 = axes('Parent',fff_z01); box(axez01, 'on');

axez02 = axes('Parent',fff_z02); box(axez02, 'on');

axez03 = axes('Parent',fff_z03); box(axez03, 'on');

axez04 = axes('Parent',fff_z04); box(axez04, 'on');

axez05 = axes('Parent',fff_z05); box(axez05, 'on');

 

% Команди для виводу декілької графіків та збереження розмірів їх зображення

hold(axeu00, 'all'); set (fff_u00,'PaperPositionMode','auto');

hold(axeu01, 'all'); set (fff_u01,'PaperPositionMode','auto');

hold(axeu02, 'all'); set (fff_u02,'PaperPositionMode','auto');

hold(axeu03, 'all'); set (fff_u03,'PaperPositionMode','auto');

hold(axeu04, 'all'); set (fff_u04,'PaperPositionMode','auto');

hold(axeu05, 'all'); set (fff_u05,'PaperPositionMode','auto');

hold(axepaa, 'all'); set (fff_paa,'PaperPositionMode','auto');

hold(axez00, 'all'); set (fff_z00,'PaperPositionMode','auto');

hold(axez01, 'all'); set (fff_z01,'PaperPositionMode','auto');

hold(axez02, 'all'); set (fff_z02,'PaperPositionMode','auto');

hold(axez03, 'all'); set (fff_z03,'PaperPositionMode','auto');

hold(axez04, 'all'); set (fff_z04,'PaperPositionMode','auto');

hold(axez05, 'all'); set (fff_z05,'PaperPositionMode','auto');

 

%----------------------------------------------------------------------------

% Підприси до осі абсцис

xlabel(axeu00, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axeu01, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axeu02, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axeu03, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axeu04, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axeu05, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axepaa, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axez00, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axez01, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axez02, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axez03, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axez04, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

xlabel(axez05, 't, час (трив. виробн. циклу)', 'FontName','Times New Roman');

 

%-----------------------------------------------------------------------------

% Надписи на виведених зображеннях

title (axeu00, 'Заощадження пенсiонeрiв', 'FontName', 'Times New Roman');

title (axeu01, 'Заощадження робітників', 'FontName', 'Times New Roman');

title (axeu02, 'Заощ. пр.осв.,культ.,мед.', 'FontName', 'Times New Roman');

title (axeu03, 'Заощадження службовців', 'FontName', 'Times New Roman');

title (axeu04, 'Заощадження власників МП', 'FontName', 'Times New Roman');

title (axeu05, 'Заощадження власників ВП', 'FontName', 'Times New Roman');

title (axepaa, 'Ціна агрегованого прод.', 'FontName', 'Times New Roman');

title (axez00, 'Куп. спр. робітників', 'FontName', 'Times New Roman');

title (axez01, 'Куп. с. пр.осв-культ-мед.', 'FontName', 'Times New Roman');

title (axez02, 'Куп. спр. службовців', 'FontName', 'Times New Roman');

title (axez03, 'Куп. спр. пенсіонерів', 'FontName', 'Times New Roman');

title (axez04, 'Капiталозабезпеч. вл. МП', 'FontName', 'Times New Roman');

title (axez05, 'Капiталозабезпеч. вл. ВП', 'FontName', 'Times New Roman');

 

% Підприси до осі ординат

ylabel(axeu00, 'u_0(t)', 'FontName','Times New Roman');

ylabel(axeu01, 'u_1(t)', 'FontName','Times New Roman');

ylabel(axeu02, 'u_2(t)', 'FontName','Times New Roman');

ylabel(axeu03, 'u_3(t)', 'FontName','Times New Roman');

ylabel(axeu04, 'u_4(t)', 'FontName','Times New Roman');

ylabel(axeu05, 'u_5(t)', 'FontName','Times New Roman');

ylabel(axepaa, 'p_a(t)', 'FontName','Times New Roman');

ylabel(axez00, 'u_0(t)/p(t)', 'FontName','Times New Roman');

ylabel(axez01, 'u_1(t)/p(t)', 'FontName','Times New Roman');

ylabel(axez02, 'u_2(t)/p(t)', 'FontName','Times New Roman');

ylabel(axez03, 'u_3(t)/p(t)', 'FontName','Times New Roman');

ylabel(axez04, 'u_4(t)/p(t)', 'FontName','Times New Roman');

ylabel(axez05, 'u_5(t)/p(t)', 'FontName','Times New Roman');

%==============================================================================

 

% Цикл зміни зарплати робітникам

for kkk = 200 : 400 : 3700

s01 = kkk;

% norm_chastky; % Приведення у відповідність часток у розході капаталу

 

[t, y] = ode45 (@ molel6_ode, tspan, y0);

 

tmp1 = y(:,[i_u00, i_u01, i_u02, i_u03, i_u04, i_u05, i_u05]);

 

% Віжлбраження графіків

hndlu00 = plot(axeu00, t, y(:,i_u00));

hndlu01 = plot(axeu01, t, y(:,i_u01));

hndlu02 = plot(axeu02, t, y(:,i_u02));

hndlu03 = plot(axeu03, t, y(:,i_u03));

hndlu04 = plot(axeu04, t, y(:,i_u04));

hndlu05 = plot(axeu05, t, y(:,i_u05));

hndlpaa = plot(axepaa, t, y(:,i_ppp));

hndlz00 = plot(axez00, t, y(:,i_u00)./y(:,i_ppp));

hndlz01 = plot(axez01, t, y(:,i_u01)./y(:,i_ppp));

hndlz02 = plot(axez02, t, y(:,i_u02)./y(:,i_ppp));

hndlz03 = plot(axez03, t, y(:,i_u03)./y(:,i_ppp));

hndlz04 = plot(axez04, t, y(:,i_u04)./y(:,i_ppp));

hndlz05 = plot(axez05, t, y(:,i_u05)./y(:,i_ppp));

 

end; % ---------------- кінець циклів виведення -----------------------------

 

% Встановлення товщини ліній та кольору

set(hndlu00(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlu01(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlu02(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlu03(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlu04(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlu05(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlpaa(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlz00(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlz01(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlz02(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlz03(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlz04(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

set(hndlz05(1) ,'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-');

 

%============================================================================

% Якщо задано признак зберігати графіки у файл

if 1 == 0

 

saveas(fff_u00, 'u00.jpg'); saveas(fff_u00, 'u00.fig');

saveas(fff_u01, 'u01.jpg'); saveas(fff_u01, 'u01.fig');

saveas(fff_u02, 'u02.jpg'); saveas(fff_u02, 'u02.fig');

saveas(fff_u03, 'u03.jpg'); saveas(fff_u03, 'u03.fig');

saveas(fff_u04, 'u04.jpg'); saveas(fff_u04, 'u04.fig');

saveas(fff_u05, 'u05.jpg'); saveas(fff_u05, 'u05.fig');

saveas(fff_paa, 'ppp.jpg'); saveas(fff_paa, 'ppp.fig');

saveas(fff_z00, 'z00.jpg'); saveas(fff_z00, 'z00.fig');

saveas(fff_z01, 'z01.jpg'); saveas(fff_z01, 'z01.fig');

saveas(fff_z02, 'z02.jpg'); saveas(fff_z02, 'z02.fig');

saveas(fff_z03, 'z03.jpg'); saveas(fff_z03, 'z03.fig');

saveas(fff_z04, 'z04.jpg'); saveas(fff_z04, 'z04.fig');

saveas(fff_z05, 'z05.jpg'); saveas(fff_z05, 'z05.fig');

 

end;

%-------------------- Кінець головної програми -----------------

 







Последнее изменение этой страницы: 2016-06-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.65.91 (0.013 с.)