How can I solve equation with no explicit solution?
이전 댓글 표시
I am trying to solve for aerosol optical thickness t, using radiative transfer equation. I have simplified the code but i need to get the final solution for t. The code is below:
%syms L k S R P u t phi alpha
PI = 3.142; k = 28.72155; L = 31.51617; S = 0.79574; R = 41.76734;
P = 0.05039; alpha = 98.0708; phi = 2.29082; u = 0.774689;
equation = (alpha -k -L == S*R*P*(1/PI)*exp(-(t/u)-(1/(6*u*t)))- L*exp(-phi*t))
solution = vpasolve(equation, t)
댓글 수: 1
Bjorn Gustavsson
2020년 12월 16일
What exactly are you trying to solve for? (In a physics sense). You'll be lucky to get a solution in simple closed form. Since the aerosol-density will vary from any simple functional form in reality you will have to turn to numerical solutions sooner or later - so you might just as well turn to such methods now and get ahead in building tools and experience sooner rather than later.
답변 (1개)
Alan Stevens
2020년 12월 16일
Are you sure your equations are correct? They seem to result in a negative value for t:
% First plot graph to see where solution might lie
tg = [-1:0.01:-0.04 NaN 0.01:0.1:2];
z = fn(tg);
plot(tg,z),grid
% Looks like a solution between 0 and -0.1
t0 = -0.1; % Initial guess
t = fzero(@fn,t0);
disp(t)
function z = fn(t)
k = 28.72155; L = 31.51617; S = 0.79574; R = 41.76734;
P = 0.05039; alpha = 98.0708; phi = 2.29082; u = 0.774689;
LHS = alpha-k-L;
RHS = S*R*P*(1/pi)*exp(-(t/u)-(1./(6*u*t)))- L*exp(-phi*t);
z = LHS - RHS;
end
카테고리
도움말 센터 및 File Exchange에서 Mathematics에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!