I am coding a kinetic equation by using ode dsolve but i got: Warning: Unable to find symbolic solution.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposte (1)
Walter Roberson
il 26 Mag 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 Commento
Walter Roberson
il 26 Mag 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
Vedere anche
Categorie
Scopri di più su Equation Solving in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!