Numerical solution of non-linear model

조회 수: 1 (최근 30일)
Bdayz
Bdayz 2016년 10월 4일
댓글: Luca Fenzi 2016년 10월 5일
hi all;
I have a model for liquid level in a tank as;
dh/dt = (F/dA) - (B*sqrt(h))/dA,
Where B,d,A are constants,
I want to get the numerical solution for a step input change in F, say 0.4
using Euler method or any other suitable numerical method.
Thanks.
  댓글 수: 2
José-Luis
José-Luis 2016년 10월 4일
How is d a constant? Isn't your equation a differential equation?
Bdayz
Bdayz 2016년 10월 5일
Hello José-Luis,
d actually stands for density, should have capitalized it to help in the understanding,sorry.
Thanks

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

채택된 답변

Luca  Fenzi
Luca Fenzi 2016년 10월 4일
편집: Luca Fenzi 2016년 10월 4일
I think that equation can be recast as: h'(t)=(F/dA) - (B*sqrt(h(t)))/dA, d,B,A,F constants Instead of using Euler method I will prefer the buil in function ode23 or ode4, since they will provide you better simulations
% Parameters of the model
B=1;
A=1;
F=1;
d=1;
% Parameters for the simulations
tspan=[0,5] % time interval of the simulations
h0=0; % Intial data
% simulation with ode23
[t,h] = ode23(@(t,h) F/(d*A) - B*sqrt(h)/d*A, tspan, h0);
% simulation with ode45
% [t,h] = ode23(@(t,h) F/(d*A) - B*sqrt(h)/d*A, tspan, h0);
% Show the results:
plot(t,h)
xlabel('t')
ylabel('h(t)')
  댓글 수: 2
Bdayz
Bdayz 2016년 10월 5일
Hi Luca Fenzi,
Thanks very much for the response, got my way around it, am now struggling with the temperature response for now. Hope you can be of help?
Luca  Fenzi
Luca Fenzi 2016년 10월 5일
I did not understand your question, what variable is the temperature? (h(t)?)

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Assembly에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by