Построение графика функции

Автор: Пользователь скрыл имя, 21 Января 2013 в 21:40, лабораторная работа

Краткое описание

Цель работы: построить график функции в среде разработки Visual Basic.NET.
Будем считать, что на рынке одного товара функция спроса и функция предложения – линейные функции цены на момент времени или цены предыдущего момента времени.
Составить программу, которая:
1. Изображает кривую спроса и кривую предложения на плоскости, по оси абсцисс которой отложена цена , а по оси ординат – количество сделок.
2. Вычисляет начальное предложение исходя из начального значения цены на момент времени .
3. Изображает маршрут "изменение цены → изменение числа сделок", который имеет вид "паутины", повторив несколько раз процессы.

Файлы: 25 файлов

Документ Microsoft Wordистория.docx

— 17.42 Кб (Открыть, Скачать)

ВВОДНИК.doc

— 326.00 Кб (Открыть, Скачать)

код на 3 лабу по модел экон.docx

— 491.37 Кб (Открыть, Скачать)

лаб 3 рис 1.PNG

— 45.97 Кб (Скачать)

лаб 3 рис 2.PNG

— 46.37 Кб (Скачать)

лаб 3 рис 3.PNG

— 42.72 Кб (Скачать)

лаб 3 рис 4.PNG

— 44.47 Кб (Скачать)

код на 4 лабу модел экон.docx

— 22.36 Кб (Открыть, Скачать)

рис 4 1.PNG

— 59.89 Кб (Скачать)

рис 4 2.PNG

— 46.20 Кб (Скачать)

рис 4 3.PNG

— 47.77 Кб (Скачать)

рис 4 4.PNG

— 47.53 Кб (Скачать)

Лабораторная работа №4.xlsx

— 13.29 Кб (Открыть, Скачать)

Конспект лекций.pdf

— 740.17 Кб (Открыть, Скачать)

МоделирЭкон1.pdf

— 619.32 Кб (Открыть, Скачать)

МоделирЭкон2.pdf

— 349.29 Кб (Открыть, Скачать)

МоделирЭкон3.pdf

— 249.18 Кб (Открыть, Скачать)

МоделирЭкон4.pdf

— 221.67 Кб (Открыть, Скачать)

МоделирЭкон5.pdf

— 242.82 Кб (Открыть, Скачать)

ЛР №1 График.pdf

— 71.03 Кб (Открыть, Скачать)

ЛР №2 Элементы теории экстремума.pdf

— 404.99 Кб (Открыть, Скачать)

ЛР №3 Кривые безразличия.pdf

— 153.20 Кб (Скачать)
Page 1
1
ЛАБОРАТОРНАЯ РАБОТА №1. КРИВЫЕ БЕЗРАЗЛИЧИЯ
Индивиды потребляют различные потребительские стоимости (блага и услу-
ги), чтобы в ответ на возникающие у них разнообразные желания получить полез-
ный эффект, или, иными словами, удовлетворить эти желания. Основой изучения лич-
ного потребления (индивидуальных потребителей и домашних хозяйств) служат кри-
вые безразличия.
Рассмотрим простой пример. Допустим, домашнее хозяйство может потреб-
лять два вида благ (благо 1 и благо 2). Пусть в течение некоторого периода первое
благо потребляется в количестве
1
X , а второе – в количестве
2
X . Двумерный вектор
(
)
2
1
, X
X
назовем планом потребления. Домашнее хозяйство сравнивает вектор по-
требления (набор потребляемых благ)
(
)
A
A
X
X
A
2
1
,
=
с другим вектором потребления
(
)
B
B
X
X
B
2
1
,
=
и выносит одно из следующих суждений:
а) вектор А предпочтительнее, чем вектор В;
б) вектор В предпочтительнее, чем вектор А;
в) векторы А и В равнопредпочтительны (потребителю безразлично, какой из
векторов А или В выбрать).
Кривая безразличия это все планы потребления, которые находятся в отно-
шениях безразличия с рассматриваемым планом потребления.
Если обозначить через
(
)
2
1
,Y
U
U =
функцию, или, иначе говоря, индекс полез-
ности, которую можно получить от потребления благ, заданных вектором
(
)
2
1
, X
X
,
то кривая безразличия это набор значений
(
)
2
1
, X
X
, которые приводят к одному и тому
же значению
*
U . Существуют различные виды кривых безразличия, определяемые
способом задания функции полезности. Приведем четыре типа функции полезности,
содержательных с точки зрения экономической науки и наиболее часто используе-
мых на практике .
1. Функции с полным взаимозамещением благ, например,
2
2
1
1
X
b
X
b
U
+
=
.
2. Неоклассическая функция полезности, например,
2
2
1
b
b
X
X
U =
, где
1
2
1

+ b
b
3. Функции с полным взаимодополнением благ, например,





=









=
.
;
:
,
min
2
2
1
1
2
2
1
1
u
b
X
u
b
X
u
U
b
X
b
X
U
4. Функции смешанного замещающе-дополняющего типа, например,

Page 2

2



+

+

+
=
2
2
1
2
2
2
1
1
1
1
2
1
;
u
c
u
b
Y
u
c
u
b
Y
u
u
U
Заметим, что функцию (2) обычно приводят в учебниках по микроэкономиче-
ской теории. Функции (1), (3), (4) – это функции полезности из линейной экономики,
которая включает такие разделы, как линейное программирование и анализ деятель-
ности.
Вид кривых безразличия станет понятен, как только мы изобразим их с помо-
щью средств компьютерной графики.
Задача
Составим программу, изображающую с помощью средств компьютерной гра-
фики кривые безразличия, соответствующие приведенным выше функциям полезно-
сти. На каждом графике разместим по три кривых.
( )
( )
i
i
c
I
C
b
I
B
=
= ,
– параметры функций полезности;
2
1
,U
U
– минимальное и максимальное значение функции полезности.
Чтобы построить кривую безразличия, необходимо выразить один из аргументов
функции полезности через другой аргумент и значение функции полезности U. Так,
для функции полезности (1) получаем
(
)
,
2
1
1
2
b
X
b
U
X

=
а для функции (2) –
2
1
/1
1
2
b
b
X
U
X








=
2. В общем виде неоклассическая функция полезности гладкая (дифференци-
руемая, строго говоря, непрерывно дифференцируемая) функция второго порядка,
удовлетворяющая гипотезе об убивающей предельной полезности. Если зафиксиро-
вать потребление второго блага на постоянном уровне и увеличивать при этом по-
требление первого блага, то полезность для домашнего хозяйства будет возрастать
(иначе говоря, предельная полезность
0
/
1
>


X
U
). Вместе с тем эта полезность
(независимо от того, потребление какого из двух благ мы будем увеличивать) не бу-
дет расти в той же степени, что и объем потребления (т. е.
(
)
0
/
/
1
1
<




X
X
U
), в
чем и заключается смысл убывающей предельной полезности. Используя обозначе-
ния дифференциального счисления, упомянутую гипотезу можно записать следую-
щим образом:
.2,
1
,0
/
,0
/
2
1
2
=
<


>


i
X
U
X
U
i
За исключением функции (2), все остальные функции полезности рассматри-

Page 3

3
ваемой гипотезе не удовлетворяют. Однако обратим внимание на следующее. Глядя
на графики функции полезности (рис. 1 – 4), можно предположить, что, во-первых,
ни одна из трех кривых для каждой из функций полезности не пересекается с другими
кривыми той же функции, во-вторых, в широком смысле все четыре функции (вклю-
чая линейную функцию (1)) являются вогнутыми. Функции полезности, не отвечаю-
щие упомянутым двум условиям, трудно назвать удовлетворительными, и с ними
трудно иметь дело. Однако руководствоваться этими двумя условиями на практике от-
нюдь не просто – построение конкретной формы функции полезности для отдельного
индивида является одной из самых сложных проблем экономической науки (до сих
пор это никому не удалось).
1.
Если увеличение спроса на одно из двух благ сопровождается падением
спроса на другое благо, то эти два блага находятся в отношениях взаимозаменяемо-
сти и называются взаимозаменяемыми благами (в качестве, примера можно привести
кофе и чай). Если же при увеличении спроса на одно из двух благ растет спрос и на
второе благо, то они находятся в отношениях взаимодополнения и называются взаи-
модополняющими благами (это, например, чай и сахар). В случае функции полезно-
сти (1) при фиксированной полезности U увеличение
1
X обязательно повлечет за со-
бой уменьшение
2
X , в случае же функции (3) при фиксации отношения
2
1
/ X
X
на
уровне
2
1
/b
b
увеличение
1
X обязательно вызывает пропорциональный рост
2
X . Стро-
го говоря, неоклассическая функция полезности является одной из функций смешан-
ного типа, однако для удобства мы дали функциям (2) и (4) разные названия.
Рисунок 1

Page 4

4
Рисунок 3
Рисунок 2

Page 5

5
Задачи
1. В пространстве двух товаров с ценами (3, 5) укажите несколько наборов то-
варов стоимостью 15, 30, 45. Пусть цены изменились и стали (4, 4). Приведите при-
меры наборов товаров, которые подешевели, подорожали, остались той же стоимо-
сти.
2. Потребительская корзина есть некоторый набор фиксированные количеств
основных товаров, необходимых абстрактному "среднему" человеку на месяц –
(
)
a
a
A
,
,
1
K
=
. Пусть
n
p
p
,
,
1
K
– цены на эти товары. Найдите цену всей корзины.
Можно ли сравнение стоимостей потребительской корзины положить в основу оп-
ределения курса различных валют?
3. На двух разных рынках цены разные. На первом –
(
)
2
1
, p
p
, на втором –
(
)
'
2
'
1
, p
p
. Пусть S – некоторая начальная денежная сумма, На эту сумму покупают то-
вары на первом рынке, затем эти товару продают на втором, на вырученную сумму
снова покупают товары на первом .... и т.д. При каких соотношениях между ценами
на рынках можно разбогатеть в результате таких действий (в советское время это
называлось спекуляцией). Опишите разные стратегии действий при различных со-
отношениях между ценами на рынках.
4. Убедиться, что завышенный курс гривны (т.е. когда за гривну дают больше
долларов, чем "следовало бы") выгоден украинским импортерам, а заниженный –
Рисунок 4

Page 6

6
украинским экспортерам. Кому выгоден фиксированный курс гривны при инфляции
на Украине? (импортерам или экспортерам).
Указание. Импортер за доллары покупает товары за границей, продает их в
Украине за гривны, покупает в Украине за гривны доллары и т.д.
5. Магазин торгует гвоздями двух видов: 25 и 40 мм. Масса гвоздей соответст-
венно 5 и 10 г, цена 5 и 7 грн. за кг. Покупатель, ведущий ремонт, хотел бы купить
гвоздей на 10 грн. Описать доступные ему на эту сумму наборы гвоздей. Подскажи-
те покупателю, сколько и каких гвоздей ему купить, если бы он хотел купить гвоз-
дей: а) как можно меньше по массе, б) как можно больше по длине, в) длиной 40 мм
в два раза больше по массе, чем гвоздей 25 мм.
6. Что представляет собой с геометрической точки зрения бюджетное множе-
ство в пространстве трех товаров?
7. Объем бюджетного множества В(Р,Q) можно считать мерой возможностей
обладателя дохода Q в части покупок товаров по ценам Р. Во сколько раз возрастет
объем бюджетного множества при увеличении дохода в два раза, всех цен в два
раза? Решите эту задачу хотя бы для двух–трех товаров.
8. Предпочтения разных людей различны. Пусть у Первого предпочтения та-
ковы: м(андарины) p а(пельсины) p я(блоки), у Второго а p я p м, у Третьего
я p м p а. Пусть у каждого вначале по 1 кг фруктов каждого вида. Могут ли они в
результате обмена стать "богаче" (т.е. иметь больше любимых фруктов)?
9. Найдите геометрическое выражение свойства желательности каждого това-
ра (хотя бы для случая двух товаров). Влечет ли это свойство выпуклость системы
предпочтений? Верно ли обратное, т.е. следует ли свойство желательности из свой-
ства выпуклости?
Программа
FrmVvod

Page 7

7
Option Explicit
Dim Msg, Style, Title, Soob
Private Sub cmdPolnZam_Click()
Kluch = 1
Call VvodDan
If B1 = 0 Or B2 = 0 Or U1 = 0 Or U2 = 0 Then
Title = "Один из параметров равен 0"
SoobDan (Title)
Exit Sub
End If
Load frmGrafic
End Sub
Private Sub cmdNeoklas_Click()
'Text1.Text.SetFocus
Kluch = 2
Call VvodDan
If B1 = 0 Or B2 = 0 Or U1 = 0 Or U2 = 0 Then
Title = "Один из параметров равен 0"
SoobDan (Title)
Exit Sub
End If
If B1 + B2 > 1 Then
Title = "Параметры B(1)+B(2)<=1"
SoobDan (Title)
Exit Sub
End If
Load frmGrafic
End Sub
Private Sub cmdPolnDop_Click()
'Text1.Text.SetFocus
Kluch = 3
Call VvodDan
If B1 = 0 Or B2 = 0 Or U1 = 0 Or U2 = 0 Then
Title = "Один из параметров равен 0"
SoobDan (Title)
Exit Sub
End If
Load frmGrafic
End Sub
Private Sub cmdSmeshan_Click()
'Text1.Text.SetFocus
Kluch = 4
Call VvodDan
If B1 = 0 Or B2 = 0 Or C1 = 0 Or C2 = 0 _
Or U1 = 0 Or U2 = 0 Then
Title = "Один из параметров равен 0"
SoobDan (Title)
Exit Sub
End If

Page 8

8
If B2 <> C1 Then
Title = "Параметр B(2) не равен C(1)"
SoobDan (Title)
Exit Sub
End If
If B2 > B1 Or C2 < C1 Then
Title = "Параметры B(1)>B(2) и C(2)>C(1)"
SoobDan (Title)
Exit Sub
End If
Load frmGrafic
End Sub
Private Sub VvodDan()
B1 = Text1.Text
B2 = Text2.Text
C1 = Text3.Text
C2 = Text4.Text
U1 = Text5.Text
U2 = Text6.Text
End Sub
Private Sub SoobDan(Title)
Msg = "Измените данные" ' Определим сообщение
Style = vbOKOnly + vbExclamation ' Определим кнопки.
'Title = "Предупреждение" ' Определим заголовок.
Soob = MsgBox(Msg, Style, Title)
End Sub
Private Sub CmdVixod_Click()
Unload frmVvod
Unload frmGrafic
End ' Ends the application.
End Sub
frmGrafic
Option Explicit
Dim X0, Y0, XX, YY, SX, SY, I, DelY, DelX
Dim Msg, Style, Title, Soob
Private Sub Form_Load()
ScaleMode = 3 ' устанавливаем измерение в пикселях.
ScaleWidth = 1000 ' ширина окна
ScaleHeight = 750 ' высота окна
X0 = 100 'ось Y от левого края
Y0 = ScaleHeight - 100 ' ось Х
FontSize = 10 ' устанавливаем размер фонта.
FontName = Screen.Fonts(5) 'устанавливаем фонт Courier
frmGrafic.Show
Select Case Kluch ' Evaluate Number.
Case 1
Call PolnZam

Page 9

9
Case 2
Call Neoklas
Case 3
Call PolnDop
Case Else
Call Smeshan
End Select
Call Pechat
End Sub
Private Sub PolnZam()
'ТИП С ПОЛНЫМ ЗАМЕЩЕНИЕМ
Dim U, X, Y
Call Osi(X0, Y0)
CurrentX = 600
CurrentY = 20
Print "ТИП С ПОЛНЫМ ЗАМЕЩЕНИЕМ "
CurrentX = 600
CurrentY = 40
Print "U ="; B1; "* Y(1)+"; B2; "* Y(2)";
CurrentX = 600
CurrentY = 60
Print "MinU = "; U1, "MaxU = "; U2
DrawWidth = 2 ' толщина линии
XX = U2 / B1 ' максимальное значение X
YY = U2 / B2 ' максимальное значение Y
SX = XX / (ScaleWidth - X0 - 20) ' Масштаб по X
SY = YY / (ScaleHeight - X0 - 20) ' Масштаб по Y
For U = U1 To U2 Step (U2 - U1) / 2 '
For X = 0 To U / B1 Step SX '
Y = (U - B1 * X) / B2
PSet (X / SX + X0, Y0 - Y / SY), 1
Next X
Next U
DelenOsi
End Sub
' НЕОКЛАССИЧЕСКОГО ТИПА
Private Sub Neoklas()
Dim U, X, Y
Call Osi(X0, Y0)
CurrentX = 600
CurrentY = 20
Print "НЕОКЛАССИЧЕСКОГО ТИПА"
CurrentX = 600
CurrentY = 40
Print "U=Y(1)^"; B1; "+Y(2)^"; B2
CurrentX = 600
CurrentY = 60
Print "MinU = "; U1, "MaxU = "; U2
XX = 20 ' максимальное значение X
YY = (U2 ^ (B1 + B2)) ^ (1 / B2) ' максимальное значение Y
SX = XX / (ScaleWidth - X0 - 20) ' Масштаб по X

Page 10

10
SY = YY / (ScaleHeight - X0 - 20) ' Масштаб по Y
DrawWidth = 2 ' толщина линии
For U = U1 To U2 Step (U2 - U1) / 2 'Задаем 3 значения U
For X = 0.1 To XX Step SX / 5 'Рисуем график
Y = (U ^ (B1 + B2) / X ^ B1) ^ (1 / B2)
If Y0 - Y / SY > 20 Then
PSet (X / SX + X0, Y0 - Y / SY), 1
End If
Next X
Next U
DelenOsi
End Sub
' ТИП С ПОЛНЫМ ДОПОЛНЕНИЕМ
Private Sub PolnDop()
Dim X1, U, X, Y
Call Osi(X0, Y0)
CurrentX = 600
CurrentY = 20
Print "ТИП С ПОЛНЫМ ДОПОЛНЕНИЕМ "
CurrentX = 600
CurrentY = 40
Print "U=Min{ Y(1)/B(1), Y(2)/B(2) }"
CurrentX = 600
CurrentY = 60
Print "Y(1) >="; B1; "*u"
CurrentX = 600
CurrentY = 80
Print "Y(2) >="; B2; "*u"
CurrentX = 600
CurrentY = 100
Print "MinU = "; U1, "MaxU = "; U2
XX = B1 * U2 * 3 ' максимальное значение X
YY = B2 * U2 * 3 'максимальное значение Y
SX = XX / (ScaleWidth - X0 - 20) ' Масштаб по X
SY = YY / (ScaleHeight - X0 - 20) ' Масштаб по Y
DrawWidth = 2 ' толщина линии
For U = U1 To U2 Step (U2 - U1) / 2 'Рисуем график
X = B1 * U
For Y = YY To B2 * U Step -SY
If Y0 - Y / SY > 20 Then
PSet (X / SX + X0, Y0 - Y / SY), 1
End If
Next Y
X1 = B1 * U
Y = B2 * U
For X = X1 To XX Step SX
PSet (X / SX + X0, Y0 - Y / SY), 1
Next X
Next U
DrawWidth = 1 ' толщина линии
For X = 0 To XX ' - 2 * X0 Step SX 'Рисуем диагональ
Y = B2 / B1 * X
If Y0 - Y / SY > 0 Then

Page 11

11
PSet (X / SX + X0, Y0 - Y / SY), 1
End If
Next X
DelenOsi
End Sub
' СМЕШАННОГО ТИПА
Private Sub Smeshan()
Dim X1, X2, U, X, Y, Y2
Call Osi(X0, Y0)
CurrentX = 600
CurrentY = 20
Print "СМЕШАННОГО ТИПА "
CurrentX = 600
CurrentY = 40
Print "U=u(1)+u(2)"
CurrentX = 600
CurrentY = 60
Print "Y(1) >="; B1; "*u(1)+"; C1; "*u(2)";
CurrentX = 600
CurrentY = 80
Print "Y(2) >="; B2; "*u(1)+"; C2; "*u(2)"
CurrentX = 600
CurrentY = 100
Print "MinU = "; U1, "MaxU = "; U2
XX = B1 * U2 + C1 * U2 ' максимальное значение X
YY = B2 * U2 + C2 * U2 'максимальное значение Y
SX = XX / (ScaleWidth - X0 - 20) ' Масштаб по X
SY = YY / (ScaleHeight - X0 - 20) ' Масштаб по Y
DrawWidth = 2 ' толщина линии
For U = U1 To U2 Step (U2 - U1) / 2 '
Y2 = C2 * U
X = C1 * U
For Y = YY To Y2 Step -SY
If Y0 / 2 - Y / SY / 2 > 20 Then
PSet (X / SX + X0, Y0 - Y / SY), 1
End If
Next Y
X1 = C1 * U
X2 = B1 * U
For X = X1 To X2 Step SX
Y = C2 * U + (B2 - C2) / (B1 - C1) * (X - C1 * U)
PSet (X / SX + X0, Y0 - Y / SY), 1
Next X
X1 = B1 * U
X2 = XX
Y = B2 * U
For X = X1 To X2 Step SX
PSet (X / SX + X0, Y0 - Y / SY), 1
Next X
Next U
DelenOsi
End Sub
' Рисуем оси

Page 12

12
Private Sub Osi(X0, Y0)
Dim Del, I
Cls
DrawWidth = 1
frmGrafic.Line (X0, 20)-(X0, ScaleHeight - 20), 1
Del = (Y0 - 20) / 10
For I = 1 To 10
frmGrafic.Line (X0 - 10, Y0 - (Del * I))-(X0, Y0 - (Del * I)), 1
Next I
frmGrafic.Line (20, Y0)-(ScaleWidth - 20, Y0), 1
Del = (ScaleWidth - X0 - 20) / 10
For I = 1 To 10
frmGrafic.Line (X0 + Del * I, Y0)-(X0 + Del * I, Y0 + 10), 1
Next I
CurrentX = X0 - 50
CurrentY = 30
Print "X(2)"
CurrentX = ScaleWidth - 60
CurrentY = Y0 + 10
Print "X(1)"
End Sub
Private Sub DelenOsi()
DelX = XX / 10
DelY = YY / 10
For I = 1 To 9 'Ось Y
CurrentX = X0 - 70
CurrentY = Y0 - (DelY * I) / SY - 10
Print Int(DelY * I)
Next I
For I = 1 To 9 'Ось X
CurrentX = X0 + DelX * I / SX - 25
CurrentY = Y0 + 10
Print Int(DelX * I)
Next I
End Sub
Private Sub Pechat()
Dim Response
Msg = "Печатать?" ' Определим сообщение
Style = vbOKCancel + vbExclamation ' Определим кнопки.
Title = "Окно печати" ' Определим заголовок.
Response = MsgBox(Msg, Style, Title)
If Response = vbOK Then ' User chose Yes.
frmGrafic.PrintForm
End If
End Sub

ЛР №4 Теория потребления.pdf

— 119.86 Кб (Открыть, Скачать)

ЛР №5 Предельная полезность.pdf

— 95.27 Кб (Открыть, Скачать)

ЛР №6 Теория производства.doc

— 183.00 Кб (Открыть, Скачать)

Информация о работе Построение графика функции