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