## Solving a Differential equation plus plotting results: Fluid Mechanics

### Kyle (view profile)

on 12 Apr 2013

I am trying to create a code to: 1) Solve this differential Equation for h(t) (or h2) in terms of t. 2) Solve for t at a certain h2. 3) Plot h2 versus t

the equation is (dh/dt)=(-36290.323)*[(((2*mw*g*t)/(Gama*Atank))+(2*g*h))^(1/2)]

## Products

### Youssef Khmou (view profile)

on 12 Apr 2013

hi Kyle,

You can try as the following :

1) Create a function in M-file inwhich you define the equation :

```function dh=MYFunc(t,h)
%(dh/dt)=(-36290.323)*[(((2*mw*g*t)/(Gama*Atank))+(2*g*h))^(1/2)]
A=-36290.323;
mw=2.33;
g=9.81;
Gamma=1.23;
Atank=4;
dh(1)=A*(((2*mw*g*t)/(Gamma*Atank))+(2*g*h(1))).^(1/2);
```

2) In the workspace you call the function "ode23" or "ode45" as :

``` t0=0; % staring time
tf=10; %  t final
Initial_value=2; % the initial value for h
[t,h]=ode45('MYFunc',t0,tf,[Initial_value]);
figure, plot(t,abs(h));```

Adjust the parameters, and try ...because in this case h is complex .

Kyle

### Kyle (view profile)

on 12 Apr 2013

Code is working great. One question I have about the code for part 2. I have the final value of h that I am looking for. Is there a way to plug in the initial and final values to get tf?

Youssef Khmou

### Youssef Khmou (view profile)

on 12 Apr 2013

hi Kyle,

no i can not tell, that may be possible if we already know the Sampling frequency of t .

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi