Trouble solving for extreme values of a differential equation.

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

Can you please attach the picture of expected result? What is wrong with your result now?
I don't know the exact result, should be between 0-10 MeV. The equation is a distribution of neutron kinetic energies. Physically something cannot have negative kinetic energy. This function could have a negative extreme value but I need the positive one.
DO you have original equations?
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)

You are trying to solve your equation symbolically (to get analytical expression). I think it's impossible
Try fsolve or vpasolve

1 Comment

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.

Categories

Find more on Mathematics in Help Center and File Exchange

Asked:

on 24 Mar 2021

Commented:

on 29 Mar 2021

Community Treasure Hunt

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

Start Hunting!