Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 46

Написать программу, которая определяет коэффициенты производственной функции Кобба-Дугласа

09.10.2014, 20:46. Показов 2637. Ответов 4

Студворк — интернет-сервис помощи студентам
Написать программу, которая определяет коэффициенты производственной функции Кобба-Дугласа Y=A*Ka*Lb
где A, a, b-неизвестные числовые значения, которые нужно отыскать. Y - выпуск, К - капитал, L - труд. Значения коэффициентов Y, K, L приведены в таблице.

ВыпускТрудКапитал
100100100
101107104.8
112114110
122122117.2
124131121.9
122138115.6
143149125
152163134.2
151176139.9
126185123.2
155198142.7
159208147
153216148.1
177226155
184236156.2
169244152.2
189266155.8
225298183
227335197.5
218387195.9
231407194.4
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2014, 20:46
Ответы с готовыми решениями:

Функция Кобба-Дугласа
Подскажите, пожалуйста, как найти параметры функции Кобба-Дугласа (Y=a0*(L^a1)*(K^a2), Y, L, K - даны) с применением алгоритма...

Функция Кобба- Дугласа
Ребятки, помогите пожалуйста с задачей:confusion: Производственная функция Кобба-Дугласа имеет следующий вид...

Не получается построить функцию Кобба и Дугласа
производственных статистик Кобба и Дугласа

4
Модератор
10434 / 5722 / 3405
Регистрация: 17.08.2012
Сообщений: 17,411
15.10.2014, 20:35
Лучший ответ Сообщение было отмечено Lilen как решение

Решение

Описание решения
Нахождение коэффициентов функции Кобба-Дугласа

https://www.cyberforum.ru/cgi-bin/latex.cgi?Y=AK^\alpha L^\beta

При постоянной отдаче при изменении масштабов производства сумма коэффициентов эластичности по труду и по капиталу равна единице (α+β=1), функция Кобба-Дугласа будет линейно однородной. Приведённое решение именно для этого случая.

Из α+β=1 α=1-β, тогда:

https://www.cyberforum.ru/cgi-bin/latex.cgi?Y=AK^{1-\beta } L^\beta

Разделим левую и правую части уравнения на K и прологарифмируем:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\ln\left( \frac{Y}{K}\right)=ln(A) + \beta \ln\left( \frac{L}{K}\right)

Обозначим

https://www.cyberforum.ru/cgi-bin/latex.cgi?\ln\left( \frac{Y}{K}\right)=y;\ ln(A)=a;\ \beta=b;\ \ln\left( \frac{L}{K}\right)=x,

получим уравнение прямой линии:

https://www.cyberforum.ru/cgi-bin/latex.cgi?y=a+bx.

Здесь можно применить линейную регрессию с использованием метода наименьших квадратов.

Обозначим для выборок fi - выпуск, вычисленный по уравнению fi=a+bxi; yi - фактический выпуск, εi=yi-fi=yi-a-bxi - разность между фактическим и вычисленным значением.

В методе наименьших квадратов требуется, чтобы разность εi была минимальной. Поэтому находим коэффициенты а и b так, чтобы сумма квадратов отклонений фактических значений от значений на прямой линии регрессии оказалась наименьшей:

https://www.cyberforum.ru/cgi-bin/latex.cgi?S=\sum_{i=1}^{n}\varepsilon ^2_i=\sum_{i=1}^{n}\left( y_i-a-bx_i\right)^2\rightarrow min

Исследуя эту функцию на экстремум с помощью производных, можно доказать, что функция принимает минимальное значение, если коэффициенты а и b являются решениями системы:

https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}a\sum_{i=1}^{n}x_i+b\sum_{i=1}^{n}x_i^2=\sum_{i=1}^{n}x_iy_i\\\\\\ na+b\sum_{i=1}^{n}x_i=\sum_{i=1}^{n}y_i\end{cases}

Если разделить обе части нормальных уравнений на n

https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}a\frac{\sum_{i=1}^{n}x_i}{n}+b\frac{\sum_{i=1}^{n}x_i^2}{n}=\frac{\sum_{i=1}^{n}x_iy_i}{n}\\\\\\ a+b\frac{\sum_{i=1}^{n}x_i}{n}=\frac{\sum_{i=1}^{n}y_i}{n}\end{cases}

И, так как

https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{\sum_{i=1}^{n}x_i}{n}=\bar{x};\ \frac{\sum_{i=1}^{n}y_i}{n}=\bar{y};\ \frac{\sum_{i=1}^{n}x_i^2}{n}=\bar{x^2};\ \frac{\sum_{i=1}^{n}x_iy_i}{n}=\bar{xy},

Получим

https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}a\bar{x}+b\bar{x^2}=\bar{xy}\\\\ a+b\bar{x}=\bar{y}\end{cases}

Тогда исходя из второго уравнения

https://www.cyberforum.ru/cgi-bin/latex.cgi?a=\bar{y}-b\bar{x}

Подставляем это дело в первое уравнение, получаем:

https://www.cyberforum.ru/cgi-bin/latex.cgi?b=\frac{\bar{xy}-\bar{x}\bar{y}}{\bar{x^2}-\bar{x}^2};\ a=\frac{\bar{x^2}\bar{y}-\bar{x}\bar{xy}}{\bar{x^2}-\bar{x}^2},

и, помня, что

https://www.cyberforum.ru/cgi-bin/latex.cgi?\ln\left( \frac{Y_i}{K_i}\right)=y_i;\ ln(A)=a;\ \beta=b;\ \ln\left( \frac{L_i}{K_i}\right)=x_i

находим соответствующие средние арифметические, находим a и b, и

https://www.cyberforum.ru/cgi-bin/latex.cgi?A=e^a;\ \beta =b;\ \alpha =1-\beta

Пишем программу.

Пусть Ваша таблица находится в файле c:\series.txt, в котором содержится n строк, в каждой из которых содержатся соответствующие Y, L, K через пробел. Проверки на корректность данных и на корректность размещения данных в файле в программе не предусмотрел.

Файл с Вашими данными: series.txt. Его можно откорректировать под другие данные, естественно. Количество строк с тройками чисел не менее одной. Наибольшее количество строк ограничено переполнением машинного формата чисел с плавающей точкой в результате нахождения какой-либо суммы и целочисленным переполнением, если количество строк превышает максимум машинного формата для целых чисел.

Программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var f: text; //файловая переменная для файла с таблицей
    n: integer; //количество выборок
    Yi, Li, Ki: real; //выпуск, труд и капитал
    x, y, a, b: real; //соответствующие элементы уравнения модели
    xa, x2a, ya, xya: real; //соответствующие средние значения для нормальных уравнений
begin
  assign(f, 'c:\series.txt');
  reset(f);
  n := 0; xa := 0; x2a := 0; ya := 0; xya := 0;
  while not eof(f) do
    begin
      read(f, Yi);
      if Yi = 0 then break; //защита от пустых строк в конце файла
      readln(f, Li, Ki);
      inc(n);
      //writeln(n:4, Yi:6:1, Li:6:1, Ki:6:1); //отладочная печать
      x := ln(Li / Ki);
      y := ln(Yi / Ki);
      xa := xa + x;
      x2a := x2a + x * x;
      ya := ya + y;
      xya := xya + x * y;
    end;
  close(f);
  xa := xa / n; x2a := x2a / n; ya := ya / n; xya := xya / n;
  a := exp((x2a * ya - xa * xya) / (x2a - xa * xa));
  b := (xya - xa * ya) / (x2a - xa * xa);
  writeln('A = ', a:0:3, ', alpha = ', 1 - b:0:3, ', beta = ', b:0:3);
  readln
end.
Всего Вам доброго.
1
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 46
15.10.2014, 21:24  [ТС]
Благодарю, решение было получено при помощи метода наименьших квадратов?
0
Модератор
10434 / 5722 / 3405
Регистрация: 17.08.2012
Сообщений: 17,411
15.10.2014, 21:38
Lilen, ну да. Вы не удосужились прочитать описание решения под спойлером?

И ещё. Требуется ли Вам данное решение или решение для непостоянной отдачи при изменении масштабов производства, то есть, если α+β≠1?
0
0 / 0 / 0
Регистрация: 17.12.2012
Сообщений: 46
15.10.2014, 22:06  [ТС]
Сори, не заметила описание решения, премного благодарна!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2014, 22:06
Помогаю со студенческими работами здесь

Написать программу, которая по заданному натуральному числу N определяет значение функции
Функция f(n) определена следующим образом: f(0)=0, f(1)=1, f(2n)=f(n), f(2n+1)=f(n)+f(n+1). Требуется написать программу, которая...

Написать программу, которая определяет максимальное число
Практическое задание №16 Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности...

Написать программу, которая определяет истинность предиката
написать программу, которая определяет истинность предиката: L = NOT((CXOR B)AND ( AOR B))XOR B, где A = (sin(x) > cos(x)) , B =...

Написать программу,которая определяет минимальное число
1. Написать программу, которая определяет минимальное число из введенной с клавиатуры последовательности отрицательных чисел (длина...

Написать программу, которая определяет количество инверсий
Задан одномерный массив из 100 целых чисел. Написать программу, которая определяет количество инверсий в этом массиве (количество пар...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru