how to solve an equation where the unknown is an integration boundry for a numerical integration?

3 visualizzazioni (ultimi 30 giorni)
I need to solve this equation in the form for x where A is a constant and f a known function, which has to be integrated numerically.
However, when i define this function and try to solve, i get the error
"Error using integral (line 85)
A and B must be floating-point scalars."
Apparently I cannot put the variable I need to solve for in the boundry of the integral.
How can this be done?
Below is the code. I know, it is a lot of constants.
P_ep = @(z) P_c.*(((exp(-(1/4).*(z./omega_c).^(5/12))).*((z./omega_c).^(3./2)))+(((4./C).*(2.84-0.92.*(1-cos(pi.*((sqrt(R.*z.*(z./(1.9.*omega_c)).^(0.14.*exp(23.*(S_y./E)))))./R))))).*(1-exp(-(1./25)*(z./omega_c).^(5./9))).*(z./omega_c)));
syms omega_m_ep
omega_m = solve(integral(P_ep,omega_c,omega_m_ep) == (0.5 * m * V_1 ^2)- ((8/15)*E*sqrt(R)*omega_c^(5/2)),omega_m_ep);
  7 Commenti
James Tursa
James Tursa il 19 Apr 2020
You need to pass fslove a function handle, and that function handle then needs to call integral.

Accedi per commentare.

Risposta accettata

David Welling
David Welling il 19 Apr 2020
You need to pass fslove a function handle, and that function handle then needs to call integral.
This solved the problem, Thank you both

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by