Автор работы: Пользователь скрыл имя, 08 Декабря 2011 в 17:19, курсовая работа
Современная экономическая наука характеризуется широким применением математических моделей и методов для описания взаимосвязей социально-экономических систем и процессов с целью их планирования и управления. Математическое моделирование экономических процессов, в свою очередь, невозможно без использования современных информационных и вычислительных средств, методов вычислительной математики. Поэтому владение приемами математического моделирования и методами вычислительной математики, умение сформулировать задачу для решения с помощью вычислительных средств, является обязательным качеством современного экономиста.
На
первом этапе возможные
Аппроксимация табличной зависимости линейной функцией
Например, при аппроксимации табличной зависимости линейной функцией y=ax+b необходимо найти такие a и b , чтобы сумма имела минимальное значение. Эти коэффициенты можно определить, приравняв нулю частные производные данной суммы по a и b:
Решая эту систему относительно переменных a и b, получим
, ,
что позволяет численно определить данные коэффициенты. Такой подход используется и при аппроксимации другими видами функций.
После
определения коэффициентов для
каждой функции можно вычислить сумму
квадратов отклонения S и квадратный корень
из этой суммы, называемый среднеквадратическим
отклонением, которые являются критериями
выбора из нескольких аппроксимирующих
функций лучшей. Очевидно, та зависимость,
для которой эти значения будут минимальными,
и будет являться функцией, наилучшим
образом отражающей исходную табличную
зависимость.
Объем, т.шт. | 0,5 | 1 | 1,5 | 2 | 2,5 | 3 | 3,5 | 4 | 4,5 | 5 |
Переменные издержки т.р. | 1 | 5 | 16 | 32 | 56 | 104 | 201 | 271 | 357 | 460 |
Постоянные издержки, т.р. | 1004 | 1010 | 1016 | 1010 | 1022 | 1011 | 1042 | 1034 | 1030 | 1044 |
Суммарные издержки, т.р. | 1005 | 1015 | 1032 | 1042 | 1078 | 1115 | 1243 | 1305 | 1387 | 1504 |
Доход, т.р | 55 | 88 | 138 | 216 | 353 | 560 | 865 | 1376 | 2185 | 3397 |
Листинг программы
Sub Курсовая()
'
' Курсовая Макрос
' Макрос записан 08.12.2010 (Loner-XP)
Dim x(1 To 10) As Double
Dim y(1 To 10) As Double
Dim Sx As Double
Dim Sy As Double
Dim Sxy As Double
Dim Sx2 As Double
Dim Sk As Double
Dim a As Double
Dim b As Double
Dim a1 As Double
Dim b1 As Double
Dim a2 As Double
Dim b2 As Double
Range("A1").Select
ActiveCell.FormulaR1C1 = "Объем т.шт"
Range("A3").Select
ActiveCell.FormulaR1C1 = "Переменные издержки т.р"
Range("A5").Select
ActiveCell.FormulaR1C1 = "Постоянные издержки т.р"
Range("A7").Select
ActiveCell.FormulaR1C1 = "Доход т.р"
Range("A9").Select
ActiveCell.FormulaR1C1 = "Суммарные издержки т.р"
Range("A2").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("B2").Select
ActiveCell.FormulaR1C1 = "1"
Range("C2").Select
ActiveCell.FormulaR1C1 = "1.5"
Range("D2").Select
ActiveCell.FormulaR1C1 = "2"
Range("E2").Select
ActiveCell.FormulaR1C1 = "2.5"
Range("F2").Select
ActiveCell.FormulaR1C1 = "3"
Range("G2").Select
ActiveCell.FormulaR1C1 = "3.5"
Range("H2").Select
ActiveCell.FormulaR1C1 = "4"
Range("I2").Select
ActiveCell.FormulaR1C1 = "4.5"
Range("J2").Select
ActiveCell.FormulaR1C1 = "5"
Range("A4").Select
ActiveCell.FormulaR1C1 = "1"
Range("B4").Select
ActiveCell.FormulaR1C1 = "5"
Range("C4").Select
ActiveCell.FormulaR1C1 = "16"
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("E4").Select
ActiveCell.FormulaR1C1 = "56"
Range("F4").Select
ActiveCell.FormulaR1C1 = "104"
Range("G4").Select
ActiveCell.FormulaR1C1 = "201"
Range("H4").Select
ActiveCell.FormulaR1C1 = "271"
Range("I4").Select
ActiveCell.FormulaR1C1 = "357"
Range("J4").Select
ActiveCell.FormulaR1C1 = "460"
Range("A6").Select
ActiveCell.FormulaR1C1 = "1004"
Range("B6").Select
ActiveCell.FormulaR1C1 = "1010"
Range("C6").Select
ActiveCell.FormulaR1C1 = "1016"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1010"
Range("E6").Select
ActiveCell.FormulaR1C1 = "1022"
Range("F6").Select
ActiveCell.FormulaR1C1 = "1011"
Range("G6").Select
ActiveCell.FormulaR1C1 = "1042"
Range("H6").Select
ActiveCell.FormulaR1C1 = "1034"
Range("I6").Select
ActiveCell.FormulaR1C1 = "1030"
Range("J6").Select
ActiveCell.FormulaR1C1 = "1044"
Range("A8").Select
ActiveCell.FormulaR1C1 = "1005"
Range("B8").Select
ActiveCell.FormulaR1C1 = "1015"
Range("C8").Select
ActiveCell.FormulaR1C1 = "1032"
Range("D8").Select
ActiveCell.FormulaR1C1 = "1042"
Range("E8").Select
ActiveCell.FormulaR1C1 = "1078"
Range("F8").Select
ActiveCell.FormulaR1C1 = "1115"
Range("G8").Select
ActiveCell.FormulaR1C1 = "1243"
Range("H8").Select
ActiveCell.FormulaR1C1 = "1305"
Range("I8").Select
ActiveCell.FormulaR1C1 = "1387"
Range("J8").Select
ActiveCell.FormulaR1C1 = "1504"
Range("A10").Select
ActiveCell.FormulaR1C1 = "55"
Range("B10").Select
ActiveCell.FormulaR1C1 = "88"
Range("C10").Select
ActiveCell.FormulaR1C1 = "138"
Range("D10").Select
ActiveCell.FormulaR1C1 = "216"
Range("E10").Select
ActiveCell.FormulaR1C1 = "353"
Range("F10").Select
ActiveCell.FormulaR1C1 = "560"
Range("G10").Select
ActiveCell.FormulaR1C1 = "865"
Range("H10").Select
ActiveCell.FormulaR1C1 = "1376"
Range("I10").Select
ActiveCell.FormulaR1C1 = "2185"
Range("J10").Select
ActiveCell.FormulaR1C1 = "3397"
Range("L11").Select
Sk = 0
For i = 1 To 10
x(i) = Cells(2, 1 + i - 1)
y(i) = Cells(10, 1 + i - 1)
Next i
GoSub Lin
Range("A11").Select
ActiveCell.FormulaR1C1 = "Линейная аппроксимация суммарных издержек"
Range("A12").Select
ActiveCell.FormulaR1C1 = "a="
Range("B12").Select
ActiveCell.FormulaR1C1 = a
Range("C12").Select
ActiveCell.FormulaR1C1 = "b="
Range("D12").Select
ActiveCell.FormulaR1C1 = b
a1 = a
b1 = b
For i = 1 To 10
Cells(13, 1 + i - 1).Value = a * x(i) + b
Sk = Sk + (y(i) - a * x(i) - b) ^ 2
Sk = Sk ^ 1 / 2
Next i
Range("A14").Select
ActiveCell.FormulaR1C1 = "Среднеквадратичное отклонение"
Range("G14").Select
ActiveCell.FormulaR1C1 = Sk
With Range("A14:G14").Font
.FontStyle = "Bold"
End With
Sk = 0
For i = 1 To 10
x(i) = Cells(2, 1 + i - 1)
y(i) = Cells(10, 1 + i - 1)
Next i
GoSub Step
Range("A15").Select
ActiveCell.FormulaR1C1 = "Степенная аппроксимация суммарных издержек"
Range("A16").Select
ActiveCell.FormulaR1C1 = "a="
Range("B16").Select
ActiveCell.FormulaR1C1 = a
Range("C16").Select
ActiveCell.FormulaR1C1 = "b="
Range("D16").Select
ActiveCell.FormulaR1C1 = b
For i = 1 To 10
Cells(17, 1 + i - 1).Value = a * x(i) ^ b
Sk = Sk + (y(i) - a * x(i) ^ b) ^ 2
Sk = Sk ^ 1 / 2
Next i
Range("A18").Select
ActiveCell.FormulaR1C1 = "Среднеквадратичное отклонение"
Range("G18").Select
ActiveCell.FormulaR1C1 = Sk
With Range("A18:G18").Font
.FontStyle = "Bold"
End With
Sk = 0
For i = 1 To 10
x(i) = Cells(2, 1 + i - 1)
y(i) = Cells(10, 1 + i - 1)
Next i
GoSub Pokas
Range("A19").Select
ActiveCell.FormulaR1C1 = "Показательная аппроксимация суммарных издержек"
Range("A20").Select
ActiveCell.FormulaR1C1 = "a="
Range("B20").Select
ActiveCell.FormulaR1C1 = a
Range("C20").Select
ActiveCell.FormulaR1C1 = "b="
Range("D20").Select
ActiveCell.FormulaR1C1 = b
For i = 1 To 10
Cells(21, 1 + i - 1).Value = a * b ^ x(i)
Sk = Sk + (y(i) - a * b ^ x(i)) ^ 2
Sk = Sk ^ 1 / 2
Next i
Range("A22").Select
ActiveCell.FormulaR1C1 = "Среднеквадратичное отклонение"
Range("G22").Select
ActiveCell.FormulaR1C1 = Sk
With Range("A22:G22").Font