static char help[] = "Passes a sparse matrix to MATLAB.\n\n"; #include int main(int argc,char **args) { PetscInt m = 4,n = 5,i,j,II,J; PetscScalar one = 1.0,v; Vec x; Mat A; PetscCall(PetscInitialize(&argc,&args,(char*)0,help)); PetscCall(PetscOptionsGetInt(NULL,NULL,"-m",&m,NULL)); PetscCall(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); PetscCall(MatCreate(PETSC_COMM_WORLD,&A)); PetscCall(MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,m*n,m*n)); PetscCall(MatSetFromOptions(A)); PetscCall(MatSetUp(A)); for (i=0; i0) {J = II - n; PetscCall(MatSetValues(A,1,&II,1,&J,&v,INSERT_VALUES));} if (i0) {J = II - 1; PetscCall(MatSetValues(A,1,&II,1,&J,&v,INSERT_VALUES));} if (j