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?

 채택된 답변

Walter Roberson
Walter Roberson 2018년 3월 7일

0 개 추천

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

추가 답변 (2개)

Jakub Jedrzejczyk
Jakub Jedrzejczyk 2018년 3월 7일

0 개 추천

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

댓글 수: 8

Walter Roberson
Walter Roberson 2018년 3월 7일
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 2018년 3월 7일
Is P0 intended to represent P(0) ?
Jakub Jedrzejczyk
Jakub Jedrzejczyk 2018년 3월 7일
편집: Jakub Jedrzejczyk 2018년 3월 7일
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 2018년 3월 8일
편집: Torsten 2018년 3월 8일
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 2020년 1월 25일
That is the solution. Most integrals do not have closed form solutions.

댓글을 달려면 로그인하십시오.

Om Yadav
Om Yadav 2020년 4월 24일

0 개 추천

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?

카테고리

질문:

2018년 3월 7일

답변:

2020년 4월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by