Hi there! I'm trying to solve differetial equation:
Unfortunately result of code:
gamma = 1.4
P0 = 1
Pe = 9.4
R = 0.168
syms S P(t)
eqn = diff(P,t) == (3/R)*S*(Pe-P0)*((P/P0)^(1/gamma))*(1-((P0/P)^(1/gamma))*((Pe-P)/(Pe-P0)))^(2/3);
dsolve(eqn)
is:
Warning: Unable to find explicit solution. Returning implicit solution instead.
> In dsolve (line 208)
In Untitled (line 7)
ans =
1
1/root(z^6 + z^5 + z^4 + z^3 + z^2 + (5*z)/47 + 5/47, z, 1)^7
solve(int(42^(2/3)/(P^(5/7)*(5*P^(2/7) - 47/P^(5/7) + 42)^(2/3)), P, 'IgnoreSpecialCases', true, 'IgnoreAnalyticConstraints', true) - 150*S*t - C11 == 0, P)
What i'm doing wrong?

 Réponse acceptée

Walter Roberson
Walter Roberson le 7 Mar 2018

0 votes

Nothing. It just does not have a closed form solution that can reasonably be found.

Plus de réponses (2)

Jakub Jedrzejczyk
Jakub Jedrzejczyk le 7 Mar 2018

0 votes

I want to fit this equation in experimental data. Is it possible to do it by means of Levenberg-Marquardt method?

8 commentaires

Walter Roberson
Walter Roberson le 7 Mar 2018
What is the goal of the fitting? To find S, which appears as a linear constant on the right hand side?
Walter Roberson
Walter Roberson le 7 Mar 2018
Is P0 intended to represent P(0) ?
Jakub Jedrzejczyk
Jakub Jedrzejczyk le 7 Mar 2018
Modifié(e) : Jakub Jedrzejczyk le 7 Mar 2018
Exactly, S is laminar burning velocity and I must to find it through fitting this equation to experiment data which is the pressure-time curve. P0 is the initial pressure and is idependent to P(0). Pe, Rvessel, and gamma together with P0 represents known parameters.
Torsten
Torsten le 8 Mar 2018
Modifié(e) : Torsten le 8 Mar 2018
Use ODE45 to solve your ODE in the region of interest for t for an S-value of S=1. If the solution is P1, then the solution for general S is P=S*P1. Thus you have to solve the linear system P1*S=P_experimental for S which gives S=P1\P_experimental. No optimizer needed.
Best wishes
Torsten.
I tried to do what you said but with no result. Maybe you could tell me how to rewrite my code.. Thank you for your help
tspan = [0 0.1];
R = 0.168 % meters
P0 = 1 % bar
Pe = 9.7 % bar
gamma = 1.4
S = 1 % meters per second
y0 = 0;
[t,y] = ode45(@(t,y) (3/R)*S*(Pe-P0)*((y/P0)^(1/gamma))*(1-((P0/y)^(1/gamma))*((Pe-y)/(Pe-P0)))^(2/3), tspan, y0);
[t,y]
P_extrap = interp1(y(1,:), t, times_data_measured_at);
S_estimated = P_extrap \ measured_P;
Can someone solve this:
>> syms y(t);
dsolve('Dy=sin(t)*cos(t)+2-(y*cos(t))')
ans =
C5*exp(-sin(t)) + exp(-sin(t))*int((exp(sin(t))*(sin(2*t) + 4))/2, t, 'IgnoreAnalyticConstraints', true)
Walter Roberson
Walter Roberson le 25 Jan 2020
That is the solution. Most integrals do not have closed form solutions.

Connectez-vous pour commenter.

Om Yadav
Om Yadav le 24 Avr 2020

0 votes

We got it very well that closed formula for my problem does not exist. The question is, how to get a numerical solution using dsolve?

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by