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!