How to solve for gamma
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello, I'm trying to solve for gamma in this equation, I was hoping if someone can help out.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1217147/image.jpeg)
considering everything else is a constant that can be put as an input.
댓글 수: 2
Torsten
2022년 12월 2일
An analytical expression for gamma does not seem possible.
Use "fzero" or "fsolve" as numerical root finders for
left-hand side(gamma) - right-hand side(gamma) = 0
채택된 답변
Torsten
2022년 12월 2일
편집: Torsten
2022년 12월 2일
format long
dbs=5.3e-10;
das=1.01e-9;
cb=4e3;
ca=1e3;
x0 =0;
options = optimset('TolX',1e-14,'TolFun',1e-14);
x = fsolve(@(x)myfun(x,dbs,das,cb,ca),x0,options)
myfun(x,dbs,das,cb,ca)
function F = myfun(x,dbs,das,cb,ca)
F = (1-erf(sqrt(x/dbs)))-(((cb/ca)*sqrt(dbs/das))*(erf(sqrt(x/das)))*(exp((x/das)-(x/dbs))));
end
댓글 수: 5
Torsten
2022년 12월 5일
편집: Torsten
2022년 12월 5일
Seems your equation has multiple solutions.
A good idea is always to plot the function to have a good guess for the solution.
dbs=5.3e-10;
das=1.01e-9;
cb=4e3;
ca=1e3;
F = @(x)(1-erf(sqrt(x/dbs)))-(((cb/ca)*sqrt(dbs/das))*(erf(sqrt(x/das))).*(exp((x/das)-(x/dbs))));
x = 0:1e-12:2e-10;
plot(x,F(x))
sol = fzero(F,[0 1e-9])
F(sol)
추가 답변 (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!