Автор работы: Пользователь скрыл имя, 22 Марта 2013 в 11:45, задача
Цель работы:
Построить пример развивающейся системы на основе двухсекторной модели экономики
Цель работы:
Построить пример развивающейся системы на основе двухсекторной модели экономики
Задание:
Составить программу, иллюстрирующую развитие двухсекторной модели экономики.
Математическое описание.
Рассмотрим следующую макроэкономическую двухсекторную модель
(1)
Модель описывает
В работе предлагается численный метод определения x(t) и y(t) данной системы при известных , , s(t), f(t) и L(t). Будем рассматривать, таким образом, систему интегральных уравнений вида
где функции , , . .
Для построения приближенного решения системы (2) разобьем весь интервал планирования на N частей
Решение будем искать в виде кусочно-постоянной функции и кусочно-линейной .
Модельная задача
(3)
Точным решением системы (3) являются функции и .
Листинг программы.
{$n+}
program model;
uses crt;
const
n=500;
aa=10;
bb=15;
type
mas1=array [0..n] of extended;
mas2=array [1..n] of extended;
var
i,j,jj:integer;
x,y,t:mas1;
rx,ry:mas2;
max1,max2,tt,kk,sh,sk:
{+++++++++++++++++++++++++++++
function H(var p,g:extended):extended;
begin
{H:=exp(p*g);1}
H:=p*g;
{H:=p;}
end;
{+++++++++++++++++++++++++++++
function K(var p,g:extended):extended;
begin
{K:=exp(p-g);}
K:=g;
{K:=p*p+g}
end;
{+++++++++++++++++++++++++++++
function F(var p:extended):extended;
begin
{F:=exp(p)*((p*p-ln(exp(p*p)-
F:=1
{f:=p*p*p/3+p*p-exp((3/2)*ln(
end;
{+++++++++++++++++++++++++++++
function A(var pp,gg:extended):extended;
begin
A:=(H(pp,gg)-K(pp,gg))/K(pp,
end;
{+++++++++++++++++++++++++++++
function B(var pp,gg:extended):extended;
var tt:extended;
begin
tt:=(gg+pp)/2; {t[j-0.5]}
B:=1+(gg-pp)*(K(gg,tt)-H(gg,
end;
{+++++++++++++++++++++++++++++
function xx(var p:extended):extended;
begin
{xx:=exp(p);}
xx:=p
end;
{+++++++++++++++++++++++++++++
function yy(var p:extended):extended;
begin
{yy:=exp(p*p-ln(exp(p*p)-p-1)/
yy:=exp((1/3)*ln(p*p*p-3))
{yy:=sqrt(p*p-2) }
end;
{+++++++++++++++++++++++++++++
BEGIN
clrscr;
for i:=0 to n do
begin
t[i]:=aa+(bb-aa)*i/n;
end;
x[0]:=xx(t[0]);
y[0]:=yy(t[0]);
for i:=1 to n do
begin
for j:=1 to i do
begin
if i=j then
begin
x[i]:=F(t[i])*H(t[i],t[i])/K(
y[i]:=t[i]-1/H(t[i],t[i]);
if(t[j-1]<y[i]) and (y[i]<t[j]) then
begin
rx[i]:=abs(t[i]-x[i]);
ry[i]:=abs(yy(t[i])-y[i]);
end;
end;
if i<j then
begin
sh:=0;
sk:=0;
for jj:=j to i-2 do
begin
kk:=(t[jj]+t[jj+1])/2; {t[jj+0.5]}
sh:=sh+H(t[i],kk)*x[jj+1];
sk:=sk+K(t[i],kk)*x[jj+1];
end;
tt:=(t[i]+t[i-1])/2; {t[i-0.5]}
x[i]:=(sh+(1+A(t[i],t[j]))*(F(
+A(t[i],t[j])*K(t[i],tt));
y[i]:=t[j]+(sk-F(t[i])+(t[i]-
if(t[j]<y[i]) and (y[i]<t[j+1]) then
begin
rx[i]:=abs(t[i]-x[i]);
ry[i]:=abs(yy(t[i])-y[i]);
end;
end;
end;
end;
max1:=rx[1];
max2:=ry[1];
for i:=1 to n do
begin
if rx[i]>max1 then max1:=rx[i];
if ry[i]>max2 then max2:=ry[i];
end;
writeln('max1',max1);
writeln('max2',max2);
end.
Результат работы программы.
N |
||
30 |
||
60 |
||
100 |
||
200 |
||
500 |
Информация о работе Развитие двухсектороной модели экономики