Trouble solving for extreme values of a differential equation.

1 view (last 30 days)
Hello,
I'm trying to solve the most probable energy for this probability density function, P(E) = A.*sinh(sqrt(2.*E)).*exp(-E). I solved for A in my code but when I take the derivative and try to solve it at zero I get a large, relative to the expectation, negative number. For the situation the function is from the energy cannot be negative. I'm unsure what I'm doing wrong could you help me? Here's my code:
%% Problem 3
% Part A
syms E
P = @(E) sinh(sqrt(2.*E)).*exp(-E);
A = double(1./int(P(E), 0, Inf));
disp(A);
% Part B
dPdE = @(E) diff(A.*P(E));
solution = solve(dPdE(E));
  4 Comments
Patrick Myers
Patrick Myers on 25 Mar 2021
Edited: Patrick Myers on 25 Mar 2021
P(E) = A.*sinh(sqrt(2.*E)).*exp(-E)
This is the density function
I solved for A using normalization which gives me 0.484 so...
P(E) = 0.484.*sinh(sqrt(2.*E)).*exp(-E)
If you take the derivative, set it to zero, and solve for the E the energy should be the most probable energy. The one thing I see I'm missing is dPdE = @(E) diff(A.*P(E)) == 0; but I ran this and still got -177.

Sign in to comment.

Answers (1)

darova
darova on 25 Mar 2021
You are trying to solve your equation symbolically (to get analytical expression). I think it's impossible
Try fsolve or vpasolve
  1 Comment
Patrick Myers
Patrick Myers on 29 Mar 2021
That answer didn't work unfortunatly, I still got the same aswer, but I ended up just plotting the derivative and picking off the zero I needed. Thank you for your effort.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!