My int function return the same int function, how can I get the answer?
12 views (last 30 days)
Show older comments
syms k_m
syms q_m
syms x
assume(x>=0)
assume(q_m>0)
syms c
syms Beta
assume(c>0)
syms b_m
assume(b_m>=0)
assume(Beta>0)
a_3=(b_m*c*(x^c)*exp(-(x^c/Beta)))/((2*pi)^(1/2)*Beta)
o_3=-(int(a_3,x,k_m,q_m))
o_3 =
-int((2251799813685248*b_m*c*x^c*exp(-x^c/Beta))/(5644425081792261*Beta), x, k_m, q_m)
It is very stranger that the answer o_3 is the same equation as o_3=-(int(a_3,x,k_m,q_m))
How can I have the right answer? Thanks.
Also, I have another formula with int function, and it was given an right answer once, then later, I applied the same formula with int function, it gave me back the same formula with int function just like above.
0 Comments
Accepted Answer
Ameer Hamza
on 7 Apr 2020
Edited: Ameer Hamza
on 7 Apr 2020
MATLAB's symbolic engine is not particularly the best. The output shows that the MATLAB symbolic engine couldn't find a closed-form solution, so it just returned the input. This shows that your equation does have a solution: https://www.wolframalpha.com/input/?i=integrate+%28m*c*%28x%5Ec%29*exp%28-%28x%5Ec%2Fb%29%29%29%2F%28%282*pi%29%5E%281%2F2%29*b%29++with+respect+to+x
In MATLAB you can get a solution in term of Whittaker function, but that is itself a differential equation
syms k_m
syms q_m
syms x
assume(x>=0)
assume(q_m>0)
syms c
syms Beta
assume(c>0)
syms b_m
assume(b_m>=0)
assume(Beta>0)
a_3=(b_m*c*(x^c)*exp(-(x^c/Beta)))/((2*pi)^(1/2)*Beta)
o_3=-int(a_3,x)
A = subs(o_3,q_m) - subs(o_3,k_m);
In such cases, numerical integration is the way to go.
0 Comments
More Answers (0)
See Also
Categories
Find more on Texas Instruments C2000 F28M3x Concerto Processors in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!