Finding k* which satisfies the equation
5 次查看(过去 30 天)
显示 更早的评论
Hello all,
I have a question related to finding k* which needs to be a (1X100) vector which satisfies
k* is such that (1-a)*alpha.*theta.*(k+L)^(alpha-1)-((k.^gamma)./w^(1+gamma))=0
where theta and L is (1X100) vectors that is defined and a, alpha and gamma is a number.
采纳的回答
John D'Errico
2019-1-10
It is a really bad idea to want to call a variable k*, since * represents multiplication in MATLAB. gamma is also a poorchoice of variable name, since the gamma function can be a terribly useful one.
As well, you never tell us what w is. Known? Unknown? Scalar? Vector?
I'll assume that w is just a known scalar. If w is unknown, then there is nothing you can do anyway, since the problem would then be unsolvable.
If I assume that w is known as a scalar (even a known vector of elements of the same size as k, this is still no problem) then your problem reduces to a set of scalar problems. So just loop from 1 to 100. Use fzero to solve each sub-problem in turn. Note that a loop here is not inefficient, since fzero is pretty fast, as well as being fairly robust.
I can't help you much more without having some sample data for this variables. If you attach a .mat file containing them, I can look more carefully at the problem. There may be issues with the domain, such as bracketing the solution.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Gamma Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!