How to derive a multi-dimensional function? In a regular function it possible to derive it by  - $$f'(x_0)=\frac{f(x_0+h)-f(x_0-h)}{2h}$$
when $h$ is "little enough" . 
How could I derive a multi-dimensional function with the above approch ? 
For example , having  -  $$f(x,y) = \begin{cases} x^3-5x^4+y^2+8 \\ 2x^3-y^2+5x^2+5y-12 \end{cases}$$
How to calculate the follow -  $\frac{\partial f_1}{\partial x}$ , $\frac{\partial f_2}{\partial  x}$ , $\frac{\partial  f_1}{\partial  y}$ ,$\frac{\partial  f_2}{\partial y}$  ?
Where exactly the $h$ should be added ?
 A: Well, let's tackle the general case and then we talk about your function properly. First of all, what's the idea of derivative at a point $a \in \mathbb{R}$ for a function $f : \mathbb{R} \to \mathbb{R}$? Well, there are two motivations that can be given and in the end they're equivalent in this case. The first motivation is a geometrical one: you want to find the tangent line $L\subset\mathbb{R}^2$ to the graph of the function $f$.
The idea then is that you vary the point you're on the domain by an amount $h$ and calculate the slope of the secant line through $(a, f(a))$ and $(a+h,f(a+h))$. It's intuitive that if you make $h$ very small you'll be approximating the tangent line $L$ and since the slope together with one point on the line is sufficient to get the equation of the line, you can by a process of limit calculate the tangentline $L$ that you want at the point.
The second motivation is that of calculating rate of changes. Indeed the slope of the secant is by obvious means the mean rate of change of the function, and so the slope of the tangent can be interpreted as the rate of change at the point.
There are two ideas then: the first that a function is differentiable at a point if it admits tangent line at the point and the second that says that a derivative can calculate rates of change. These ideas are equivalent in the one-dimensional case. The point is that when you have a function $f : \mathbb{R}^n \to \mathbb{R}$ this is more complicated. Indeed you can move in any direction given by some vector $v \in \mathbb{R}$ and there's not one preferable direction to move. You can have then one rate of change per direction. This introduces the notion of a directional derivative (and partials as special case), which is the following limit:
$$D_v f(a)=\lim_{h\to0}{\frac{f(a+hv)-f(a)}{h}}$$
Look that you move along the line joining $a$ and $a+hv$ and make the points very close so that you can calculate the increase in $f$ and divide by the amount you've walked. This is the directional derivative and the $i$-th partial is just the directional derivative in the direction of the $i$-th coordinate axis, in other words, it's just:
$$D_if(a)=\lim_{h\to0}{\frac{f(a+he_i)-f(a)}{h}}$$
This is a good generalization of "instantaneous rate of change", it'll only have a meaning if you specify a direction. But there's the other motivation - a tangent line at the point. To understand how this generalizes to the real derivative in $n$-space consider the following: $f : \mathbb{R} \to \mathbb{R}$ is differentiable at $a \in \mathbb{R}$ if the following limit exists.
$$\lim_{h\to 0}{\frac{f(a+h)-f(a)}{h}}=f'(a)$$
Now this is (by the properties of limits) equivalent to asking for the following:
$$\lim_{h\to 0}{\frac{f(a+h)-f(a)}{h} - f'(a)}=\lim_{h\to 0}{\frac{f(a+h)-f(a) -f'(a)h}{h} }=0$$
Now you can define the following function $\lambda(a) : \mathbb{R} \to \mathbb{R}$ by the following rule $\lambda(a)(h) = f'(a)h$. So $\lambda$ is a linear function, and the limit above says that $\lambda$ is capable of approximating $f$ near $h$ with error of second order, in other terms, the difference between the real increment $f(a+h) - f(a)$ and the value of $\lambda(a)(h)$ goes to zero faster than the distance between $a$ and $a+h$.
Now this is the property of the derivative we were seeking for to take it correctly to $n$ dimensions: the derivative should be the best linear approximation of a function at a point: in other words, the derivative should be a linear function that approximates the values of the function near a point. Then the ability of getting rates of change is a consequence of that. Indeed the directional derivatives are able to get rates of change, but they do not generalize properly the derivative (they don't imply continuity for instance). And this also let us talk about deriatives of functions $f : \mathbb{R}^n \to \mathbb{R}^m$. Such functions are called differentiable at $a \in \mathbb{R}^n$ if there's a linear transformation $Df(a) : \mathbb{R}^n \to \mathbb{R}^m$ such that:
$$\lim_{h\to 0}{\frac{\|f(a+h)-f(a) - Df(a)(h)\|}{\|h\|}}=0$$
You can then prove that if $v \in \mathbb{R}^n$ then the directional derivative of $f$ along $v$ at $a$ is just $D_v f(a) = Df(a)(v)$ and so you're really establishing a connection between "having linear approximation at a point" and being able to get the "rate of change" at a point. Indeed, the reason why those two things are equivalent in $\mathbb{R}$ is just because the matrix of $Df(a)$ will have the single entry $f'(a)$ and so if you can calculate rates of change you have linear approximation.
Now your specific case is kind of complicated because I simply couldn't guess in which subsets of the domain we should use each expression. Perhaps with this explanation I gave you can understand it yourself, however if you want me to explain, make it clearer where each expression is valid.
I hope it helps you out! Good luck!
A: First of all, you should use $\partial$ (\partial) and not $d$ because those are partial derivative.
Then, the image of your function should be defined as a vector, a 1x2 matrix which you can do with $\begin{pmatrix}1\\2\end{pmatrix}$ (right click to see the latex).
Then when the image of a function $f$ is a vector $f(x,y)$, you can find two functions so that $f(x,y)=\begin{pmatrix}g(x,y)\\h(x,y)\end{pmatrix}$ and then to find the derivative of $f$ with respect to a variable, you just replace $g$ and $h$ by their derivatives with respect to the same variable.
And then to find $\cfrac{\partial g}{\partial x}(x,y)$, you just assume $y$ is a constant and find the derivative of $x\mapsto g(x,y)$ and then the expression of $\cfrac{\partial g}{\partial x}$ is the same as the expression of $\cfrac{d}{dx}(x\mapsto g(x,y))$. In fact you have $\cfrac{\partial g}{\partial x}(x,y)=\left(\cfrac{d}{dx}(t\mapsto g(t,y))\right)(x)$
A: The usual approaches are partial derivatives and total derivatives.
Partial derivatives $\frac{\partial f}{\partial x}$ just treat one variable as constant, and you get two derivatives measuring change in the function orthogonal to the constant axis at each value of the constant axis. You can then take the directional derivative to combine these two derivatives (in linear combination) into a derivative in any direction about a point.
Total derivatives $\frac{\operatorname df}{\operatorname dx}$ use abstract quantifications of dependency to capture the function's change around a point as one variable changes (without, say, assuming the linear combination of the two derivatives will give you the result precisely). They are computed symbolically, as $\frac{\operatorname df}{\operatorname dx} = \frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}\frac{\operatorname dy}{\operatorname dx},$ and obtaining results without the $\frac{\operatorname dy}{\operatorname dx}$ factor requires evaluating at a zero of $\frac{\partial f}{\partial y}$ or taking total derivatives of other functions which may cancel out this term. Total derivatives may be more appealing than partial derivatives from a semantics point of view.
Though a limit analogue can be found on Wikipedia, I don't fully understand it, so I'm just guessing as how to interpret it. It essentially requires a limit as the function approaches a point, subtracted by a linear map from that function's domain to its codomain, to vanish, and calls that linear map the differential of the function, just as $\lim_{x \rightarrow c} \frac{f(c)-f(x)-\partial_c f}{c-x} = \lim_{x \rightarrow c} \frac{f(c)-f(x)}{c-x}-\frac{\partial_c f}{\partial_c x} = 0$ and $\partial_c f$ is a linear map sending functions to straight lines around c.
