Мой вопрос связан с проблемой поиска ограниченного корня, когда функция ведет себя странно, когда она близка к нулю.
Настройка
Я пытаюсь найти корень следующего уравнения
где
< /п> Каппа, ци, тета и альфа — все это параметры, которые я установил. тот переменная k представляет собой сетку 30 на 30.
Я пытаюсь найти корень для оценки h во всех k точках сетки. Корень должен возвращать значение h, находящееся между границами 0 и 1. функция возрастает, но в областях, когда h близок к нулю (обычно меньше 0,1) он дважды пересечет ось X. Это происходит у некоторых точках сетки, в которых я оцениваю, а в других этого не происходит. В теория, этого не должно произойти. Поэтому, когда я оцениваю в точках сетки, используя методы деления пополам, такие как bisect и brentq, в большинстве точек сетки работают но для некоторых я получу ошибку «f(a) и f(b) положительная».
Поэтому я вместо этого пытаюсь превратить проблему поиска корня в минимизацию проблема, когда я возвожу функцию в квадрат и использую функцию Brent. Но я все еще сталкиваюсь с такими же проблемами, как и раньше. Однако на этот раз это остановится из-за слишком большого количества итераций, и многие решения не в указанных пределах.
для i в диапазоне (nk): для j в диапазоне (nk): защита foch(n): return (каппа*n**chi - (kgrid**(альфа)*n**(1-альфа) + (1-дельта)*kgrid - кгрид[j])**(-тета)*(1-альфа)*(кгрид)**(альфа)*n**(-альфа))**2 res[i,j] =opt.brent(foch, brack=(10e-3, 1)) Вопрос Как найти корень этого уравнения, которое теоретически уникально? Является есть альтернативный метод, который я мог бы использовать вместо стандартного проблемы с поиском корня или минимизацией?
Код импортировать numpy как np импортировать scipy.optimize как опцию ##### параметры ##### бета, альфа, дельта, тета, хи = 0,988, 0,321, 0,013, 1, 0,5 #количество точек сетки. нк = 30 #настраиваем сетку kstar = (1/3)*(альфа/(1/бета - (1-дельта)))**(1/(1 - альфа)) кммин=0,25*кзвезд кммакс=1,75*кзвезд кгрид = np.linspace(кмин, кмах, нк) #установить рабочее время SS nstar=.2925 cstar = kstar**alpha*nstar**(1-alpha) - дельта*kstar #эндогенно определяем каппа каппа=(1/nstar**chi)*cstar**(-тета)*(1-альфа)*(kstar/nstar)**альфа #### решать #### res=np.empty((nk, nk)) для меня в диапазоне (nk): для j в диапазоне (nk): защита foch(n): return (каппа*n**chi - (kgrid**(альфа)*n**(1-альфа) + (1-дельта)*kgrid - кгрид[j])**(-тета)*(1-альфа)*(кгрид)**(альфа)*n**(-альфа))**2 res[i,j] =opt.brent(foch, brack=(10e-3, 1))
Мой вопрос связан с проблемой поиска ограниченного корня, когда функция ведет себя странно, когда она близка к нулю. Настройка Я пытаюсь найти корень следующего уравнения
[img]https://latex.codecogs.com/gif.latex?c&space;=&space;k_i%5E%7B%5Calpha%7D&space;h%5E%7B1-%5Calpha%7D&space;+ &space;(1-%5Cdelta)&space;k_i&space;-&space;k_j[/img] < /п> Каппа, ци, тета и альфа — все это параметры, которые я установил. тот переменная k представляет собой сетку 30 на 30.
Я пытаюсь найти корень для оценки h во всех k точках сетки. Корень должен возвращать значение h, находящееся между границами 0 и 1. функция возрастает, но в областях, когда h близок к нулю (обычно меньше 0,1) он дважды пересечет ось X. Это происходит у некоторых точках сетки, в которых я оцениваю, а в других этого не происходит. В теория, этого не должно произойти. Поэтому, когда я оцениваю в точках сетки, используя методы деления пополам, такие как bisect и brentq, в большинстве точек сетки работают но для некоторых я получу ошибку «f(a) и f(b) положительная».
Поэтому я вместо этого пытаюсь превратить проблему поиска корня в минимизацию проблема, когда я возвожу функцию в квадрат и использую функцию Brent. Но я все еще сталкиваюсь с такими же проблемами, как и раньше. Однако на этот раз это остановится из-за слишком большого количества итераций, и многие решения не в указанных пределах.
для i в диапазоне (nk): для j в диапазоне (nk): защита foch(n): return (каппа*n**chi - (kgrid[i]**(альфа)*n**(1-альфа) + (1-дельта)*kgrid[i] - кгрид[j])**(-тета)*(1-альфа)*(кгрид[i])**(альфа)*n**(-альфа))**2 res[i,j] =opt.brent(foch, brack=(10e-3, 1)) Вопрос Как найти корень этого уравнения, которое теоретически уникально? Является есть альтернативный метод, который я мог бы использовать вместо стандартного проблемы с поиском корня или минимизацией? Код импортировать numpy как np импортировать scipy.optimize как опцию ##### параметры ##### бета, альфа, дельта, тета, хи = 0,988, 0,321, 0,013, 1, 0,5 #количество точек сетки. нк = 30 #настраиваем сетку kstar = (1/3)*(альфа/(1/бета - (1-дельта)))**(1/(1 - альфа)) кммин=0,25*кзвезд кммакс=1,75*кзвезд кгрид = np.linspace(кмин, кмах, нк) #установить рабочее время SS nstar=.2925 cstar = kstar**alpha*nstar**(1-alpha) - дельта*kstar #эндогенно определяем каппа каппа=(1/nstar**chi)*cstar**(-тета)*(1-альфа)*(kstar/nstar)**альфа #### решать #### res=np.empty((nk, nk)) для меня в диапазоне (nk): для j в диапазоне (nk): защита foch(n): return (каппа*n**chi - (kgrid[i]**(альфа)*n**(1-альфа) + (1-дельта)*kgrid[i] - кгрид[j])**(-тета)*(1-альфа)*(кгрид[i])**(альфа)*n**(-альфа))**2 res[i,j] =opt.brent(foch, brack=(10e-3, 1))
Я решал эту проблему Frequency-of-array-elements-1587115620/1.
Я не могу понять, почему она выдает ошибку во время выполнения.
р>
Постановка проблемы: Дан массив A[] из N положительных целых чисел, который может содержать целые числа от 1 до P,...
Я реализовал разбиение на страницы Zend, но не могу понять, как ограничить количество ссылок на страницах. Я знаю о setPageRange, но это не совсем то, что мне нужно.
Я играл с асинхронным кодом Python, пытаясь улучшить его производительность, и заметил, что когда я устанавливаю ограничение на количество одновременно выполняемых задач через семафор, код обычно выполняется быстрее, чем если бы я не устанавливал...