I am coding a kinetic equation by using ode dsolve but i got: Warning: Unable to find symbolic solution.
1 view (last 30 days)
Show older comments
This is my code, m k kla and O3x are constants, even if I set a value for them I got an error
syms O3(t) m k kla O3x
ode = diff(O3)+k*(O3^m) == (kla*(O3x-O3))
ySol(t) = dsolve(ode)
it results:
Warning: Unable to find symbolic solution.
ySol(t) =
[ empty sym ]
HELP :(
0 Comments
Answers (1)
Walter Roberson
on 26 May 2023
Your O3 is a function of t. You have O3^m where m is an unknown.
You are not going to find a solver that is able to deal with that situation -- not unless it runs through a few special cases and leaves the rest unresolved.
syms O3(t) m k kla O3x
for m = [-5 -4 -3 -exp(sym(1)) -2 -sqrt(sym(2)) -1 -sym(1)/2 -sym(1)/3 0 sym(1)/3 sym(1)/2 1 sqrt(sym(2)) 2 exp(sym(1)) 3 4 5]
disp('----')
m
ode = diff(O3)+k*(O3^m) == (kla*(O3x-O3))
dsolve(ode, 'MaxDegree',4)
end
1 Comment
Walter Roberson
on 26 May 2023
syms O3(t) m k kla O3x
for M = [-10:-1, 1:10]
m = sym(1)/M;
disp('----')
m
ode = diff(O3)+k*(O3^m) == (kla*(O3x-O3))
dsolve(ode, 'MaxDegree',4)
end
See Also
Categories
Find more on Equation Solving 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!