You need to specify what the actual boundary conditions are before anyone is in a position to help you. Also do you want a steady state solution or a time dependent solution? Best to werite down the equations here specifying the boundary conditions and the actual PDE.
In addition to specifying the equation and boundary conditions, please also specify the domain (rectangular, circular...), and whether you are using finite differences, finite volume or finite elements. Your problem isn't, of course, a Matlab problem, for one may also use C++, Fortran to solve such systems.
Try this fine book 'Computational partial differential equations using Matlab' by Li and Cheng CRC Press 2008. International Standard Book Number-13: 978-1-4200-8905-9 (eBook - PDF).
Many thanks. However, the problem which you have stated is not complete yet. What are the boundary conditions in the x-direction? And what is the initial condition?
You appear to be stating that z=0 is the interface between two fluids, but they will be characterised by having two differerent conductivities and diffusivities. These aren't mentioned.
Your stated boundary conditions are very very unusual by being nonlocal. Your domain lies between z=-b/2 and z=b/2, and your heat flux at a boundary is proportional to the difference between the temperature at the same boundary and the temperature at z=0. I have not heard of such a thing before!
If any of us are to assist you then it is essential to have a full description of the problem being solved.
The convection terms in the z direction are wrong as they depend on temperature at z=0 and z= b/2 and -b/2. This can not be correct. In your case the convection term should not depend on temperature at z=0, but instead on the temperature at z>b/2 and z
We still don't know the full details! What are the conductivities and diffusivities? And as Dr Sood and I have said, how can these boundary conditions in the z-direction be nonlocal?
May I repeat that Matlab isn't a solver. It is a language like fortran and C++. One programs in each of these languages.
Have a look at http://www.public.iastate.edu/~akmitra/aero361/design_web/Laplace.pdf -- this document is quite a clear exposition of how to solve the 2D Laplace's equation with a Neumann boundary condition using finite differences. If you are a finite difference person, then the principle of how to apply this condition will also work without change for the unsteady 2D Fourier's equation you quoted. This method is called the fictitious point method.
That said, you have stated that there are two different conductivities and diffusivities depending on whether z>0 of z
The only thing Matlab does is to call Fortran subroutines to solve the problem. Most of them are taken from Netlib (www.netlib.org). They just rename them and use them behind the scenes. In addition, your Matlab program will be considerably slower than a Fortran compiled program (2 or 3 orders of magnitude slower most of the time).
I would recommend to forget about Matlab and solve the PDEs using an actual programming language. Netlib has several packages for that purpose.
Again, I have to point out that Matlab isn't a solver. It is a programmking language.
What you have written is not a Robin boundary condition. Something like,
DT/Dz(Z=b/2) = h/k ( T(z=b/2)-T(external) )
is a Robin condition. Here, T(external) is an external temperature. Such a condition will model heat conduction at the surface of a solid which occupies -b/2