## Drawing bivariate densities

Maxima has a powerful graphics function`draw3d`. In order to use it we must first load the "draw" package.

--> load(draw)In a 3D plot a function is described in the format

In Maxima a function can be defined and works as a macro definition. For example, we can define

`:=`"

--> Q(x,y) := ((x - m[1])^2/s[1]^2 + (y - m[2])^2/s[2]^2 - 2*r*(x - m[1])*(y - m[2])/(s[1]*s[2]))Also, we have to give the parameters as follows:

--> m: [1,2] --> s: [2,1] --> r: 0.3Then we can define the bivariate density function by

--> f(x,y) := exp(-Q(x,y)/2)/(2*%pi*s[1]*s[2]*sqrt(1-r^2))

We can draw a surface
when "`enhanced3d=true`" is specified.

--> draw3d(enhanced3d=true, explicit(f(x,y),x,-2,4,y,-2,4), user_preamble="unset colorbox")We can obtain contour curves when "

`contour=map`" is specified.

--> draw3d(color=red, contour=map, contour_levels=15, explicit(f(x,y),x,-2,4,y,-2,4), user_preamble="unset clabel")We can draw both the surface and the contour curves when "

`contour=both`" is specified.

--> draw3d(surface_hide=true, contour=both, contour_levels=15, explicit(f(x,y),x,-2,4,y,-2,4))

The option "`contour_levels`

"
can be chosen from the following styles.

- "
`contour_levels=n`

"`n`is set to the number of contour lines drawn at equal intervals. - "
`contour_levels=[a,s,b]`

" The contour curves are plotted from the lowest value`a`to the highest value`b`in steps of the value`s`. - "
`contour_levels={c1,c2,...,cn}`

" The contour curves are plotted at the values`c1`,`c2`,...,`cn`.

The following wxm file contains the above code:

© TTU Mathematics