РефератыЭкономико-математическое моделированиеСтСтатистические модели макроэкономики

Статистические модели макроэкономики

Российский государственный гидрометеорологический университет


Экономический и социально-гуманитарный факультет


Кафедра Экономики и менеджмента

Курсовая работа


по дисциплине «Информатика»


Статистические модели макроэкономики


Санкт-Петербург


2008г.


1. Постановка задачи.


Даны
: вектор непроизводственного потребления , матрицы межотраслевого баланса и .


1. Рассчитать матрицу В

.


2. Найти вектор валового выпусках

, обеспечивающий данный вектор потребления.


3. Рассчитать произведение вектора на матрицу А

×

х

.


4. Рассчитать вектор .


Все расчеты произвести с использованием программы, написанной на алгоритмическом языке ПАСКАЛЬ.












№ варианта Вектор потребления,

Матрица межотраслевого


баланса


Матрица межотраслевого баланса
1 1/3

1/3 1/6


½ ¼


½ ¼


¼ 1/4


















1


11






да






нет






5








Х=
B*C


Х1=
B1*C








4








B=Br-1


B1=Br1-1








3








Br=E-A


Br1=E-A/








2






Em(l,n)






















program KURSOVOJ_PROJECT;


uses crt;


type int=0..10;


vec=array [0..10] of real;


matr=array [0..10,0..10] of real;


var x,x_1,ax,ax_1,c:vec;


e,a,a_1,b,b_1,br,br_1: matr;


m,n:int;


name:char;


procedure readvec (var x:vec; name:char; n:int);


var i:int;


begin


writeln(' Ввестивектор ',name,' размера n=', n); for i:=0 to n-1 do


begin


write (' ',name,'[',i:2,']='); readln(x[i])


end;


end;readvec


procedure writevec (var x:vec; name:char; n:int);


var i:int;


begin


writeln(' Вывестивектор ',name, ' размера n=', n); for i:=0 to n-1 do


begin


write (' ',name,'[',i:2,']='); writeln(x[i]:10:5)


end;


end;writevec


procedure readmatr(var y:matr; name:char; n,m:int);


var i,j:int;


begin


writeln (' Ввестиматрицу ',name,


' размера : n=' ,n,', * m=' ,m); for i:=0 to n-1 do


for j:=0 to m-1 do


begin


write(' ',name, '[' ,i:2,' ,' ,j:2, ']= ');


readln (y[i,j])


end;


end;readmatr


procedure writematr(var y:matr; name:char; n,m:int);


var i,j:int;


begin


writeln (' Вывестиматрицу ',name,


' размера: n=' ,n,', * m=' ,m);


for i:=0 to n-1 do


for j:=0 to m-1 do


begin


write(' ',name, '[' ,i:2,' ,' ,j:2, ']= ');


writeln (y[i,j]:8:4)


end;


end;writematr


procedure Em (var E:matr; n:int);


var i,j:int;


begin


for i:=0 to n do


for j:=0 to n do


if i=j then E[i,j]:=1 else E[i,j]:=0;


end;end E


procedure

Rmatr(var a,b,c:matr; n,m:int);


var i,j:int;


begin


for i:=0 to n do


for j:=0 to m do


c[i,j]:=a[i,j]-b[i,j];


end;Rmatr


procedure obrmatr (Var AIS,AP: matr; n:int);


var i,j,k,l:integer;


a:matr;


begin


a:=AIS;


n:=n-1;


for k:=0 to n do begin


for j:=0 to n do


if (j<>k) then AP[k,j]:=-a[k,j]/a[k,k];


for i:=0 to n do


if (i<>k) then AP [i,k]:=a[i,k]/a[k,k];


for i:=0 to n do


for j:=0 to n do


if (i<>k) and (j<>k)


then AP[i,j]:= a[i,j]-a[i,k]*a[k,j]/a[k,k];


AP[k,k]:=1/a[k,k]; a:=AP;


end;


end; end obrmatr


procedure matrvec(var b:matr; var c,x:vec; n:int);


var i,j:int;


begin


for j:=0 to n-1 do begin


x[j]:=0;


for i:=0 to n-1 do


x[j]:=x[j]+b[i,j]*c[i]


end;


end; end matrvec


{ ТЕЛОПРОГРАММЫ }


begin


clrscr;


readvec (c,'C',2);


readmatr (a,'A',2,2);


readmatr (a_1,'Z',2,2);


Em(e,2); rmatr(e,a,br,2,2); rmatr(e,a_1,br_1,2,2); obrmatr(br,b,2); obrmatr(br_1,b_1,2); matrvec (B,C,x,2); matrvec (B_1,C,x_1,2); matrvec (A,x,ax,2); matrvec (A_1,x_1,ax_1,2);


if (ax[0]<=c[0]) and (ax[1]<=c[1]) then


writeln (' Экономика матрица A - эффективна') else


writeln (' Экономика матрица A - не эффективна');


if (ax_1[0]<=c[0]) and (ax_1[1]<=c[1]) then


writeln (' Экономика матрица A_1 - эффективна') else


writeln (' Экономика матрица A_1 - не эффективна');


readln


write matr(B,’B’,2,2);


write matr (B1,’Z’,2,2);


write vec (x,’x’.2);


write vec(x1,’y’,2);


end.


{Окончание программы}


1.Процедура ввода вектора








Ввод вектора X размерностью n
Для I от n до n-1 с шагом 1 делать
Ввести значение элемента массива X[i]

2.Процедура вывода вектора








Вывод вектора X размерностью n
Для i от 0 до n-1 с шагом 1 делать
Вывести вектор X[i;j]

3.Процедура ввода матрицы










Ввод размерности n,m ввод элементов массива Y[i;j]
Для i от 0 до n-1 с шагом 1 делать
Для i от 0 до m-1 с шагом 1 делать
Ввести значение элемента массива Y[i;j]

4.Процедура вывода матрицы










Вывод массива Y[i;j] размерностью n,m
Для i от 0 до n-1 с шагом 1 делать
Для i от 0 до m-1 с шагом 1 делать
Вывести массив Y[i;j]

5.Процедура вывода единичной матрицы














Вывод массива E[i;j] размерностью n
Для i от 0 до n-1 с шагом 1 делать
Для i от 0 до m-1 с шагом 1 делать

I=j


Да Нет


E [I;j] = 1 F[j;j]=0
Вывести матрицу E [i;j]

6.Процедура умножения вектора на матрицу








Для i от 0 до n-1 с шагом 1 делать
Для i от 0 до m-1 с шагом 1 делать
C[i;j]:=a[i;j]-b[i;j]

7.Процедура умножения вектора на матрицу










Для i от 0 до n-1 с шагом 1 делать
X[i;j]:=0
Для i от 0 до n-1 с шагом 1 делать
X[j]:=x[j]+c[i]*b[i;j]

8.Процедура образования матрицы






























А=ais;n:=n-1
Для k от 0 до n с шагом 1 делать
Для i от 0 до nс шагом 1 делать

j≠k


true


Ap[k;j]:=-a[k;j]/a[k;k]
Для I от 1 до n с шагом 1 делать

i≠k


true


Ap[i;k]:=A [i;k]/A[k;k]
Для i от 0 до n с шагом 1 делать
Для j от 0 до nс шагом 1 делать

i≠k;j≠k


true


AP[i;j]:=a[i;j]-a[i;j]*a[k;j]/a[k;k]
AP[k;k]:=1/a[k;k]
Q:=AP

Расчеты при вводе значений


При добавлении:


B[0,0]=4.6154


B[0,1]=1,0462


B[1,0]=3,0769


B[1,1]=2,0308


Вывести матрицу Z размера :n=2,m=2


Z[0,0]=2,400


Z[0,1]=0,800


Z[1,0]=0,800


Z[1,1]=1,600


Вывести вектор Х размера n=2


Х[0]=13,84615


Х[1]=7,13846


Вывести вектор x размера n=2


Y[0]=4,8000


Y[1]=5,6000

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Статистические модели макроэкономики

Слов:1025
Символов:12051
Размер:23.54 Кб.