how to solve an equation where the unknown is an integration boundry for a numerical integration?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
James Tursa
2020-4-19
You need to pass fslove a function handle, and that function handle then needs to call integral.
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!