# Help with EES (take derivative from table)

1. Aug 29, 2011

### Hobold

I'm not sure if you're familiar with EES, but just in case I am asking here because I really have no idea what to do, as I've tried everything I could.

Basically, I want to calculate a partial derivative numerically (speed of sound) from a table of values.

I have a program that produces a table of pressures and specif mass and I want to take

$$\left( \dfrac{\partial p}{\partial \rho} \right)_s \approx \left(\dfrac{p_{i+1} - p_i}{\rho_{i+1} - \rho_i} \right)$$

I've tried creating procedures, functions and stuff like that but I couldn't do anything. Here's basically what I have done most times:

Code (Text):
PROCEDURE Vsound( : vel )

i:=0

REPEAT

i=i+1

a := tablevalue('rev';i;'p')
b := tablevalue('rev';i+1;'p')
c = tablevalue('rev';i;'rho')
d = tablevalue('rev';i+1;'rho')

vel := (b-a)/(d-c)

UNTIL (i=1499)

END
Basically I have a parametric table called "rev" with columns "p" and "rho" in which I have 1500 values for each.

Then later in the code, after writing stuff to calculate both p and rho, I call that procedure:

CALL Vsound(: vel)

Though it says that there is no value set for rho. I believe that's because rho is calculated within the program (p is pre-set), though I have no idea how to solve this problem.

Ideas?