# PetscMatlabEngine
Object used to communicate with MATLAB 
## Synopsis
```
typedef struct _p_PetscMatlabEngine *PetscMatlabEngine;
```



## Notes
`Mat`s transferred between PETSc and MATLAB and vis versa are transposed in the other space
(this is because MATLAB uses compressed column format and PETSc uses compressed row format)

One must `./configure` PETSc with  `--with-matlab [-with-matlab-dir=matlab_root_directory]` to
use this capability


## See Also
 `PetscMatlabEngineCreate()`, `PetscMatlabEngineDestroy()`, `PetscMatlabEngineEvaluate()`,
`PetscMatlabEngineGetOutput()`, `PetscMatlabEnginePut()`, `PetscMatlabEngineGet()`,
`PetscMatlabEnginePrintOutput()`, `PetscMatlabEnginePutArray()`, `PetscMatlabEngineGetArray()`,
`PETSC_MATLAB_ENGINE_()`, `PETSC_MATLAB_ENGINE_SELF`, `PETSC_MATLAB_ENGINE_WORLD`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscmatlab.h.html#PetscMatlabEngine">include/petscmatlab.h</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/classes/matlabengine/matlab.c.html#_p_PetscMatlabEngine">_p_PetscMatlabEngine in src/sys/classes/matlabengine/matlab.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmatlab.h)


[Index of all Sys routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
