diff --git a/internal/ceres/linear_least_squares_problems.cc b/internal/ceres/linear_least_squares_problems.cc
index da3ed8c..05cb7aa 100644
--- a/internal/ceres/linear_least_squares_problems.cc
+++ b/internal/ceres/linear_least_squares_problems.cc
@@ -680,30 +680,58 @@
   string filename_prefix =
       StringPrintf(format_string.c_str(), iteration);
 
+  LOG(INFO) << "writing to: " << filename_prefix << "*";
+
+  string matlab_script;
+  StringAppendF(&matlab_script,
+                "function lsqp = lm_iteration_%03d()\n",
+                iteration,
+                iteration);
+
+  StringAppendF(&matlab_script,
+                "lsqp.num_rows = %d;\n", A->num_rows());
+  StringAppendF(&matlab_script,
+                "lsqp.num_cols = %d;\n", A->num_cols());
+
   {
     string filename = filename_prefix + "_A.txt";
-    LOG(INFO) << "writing to: " << filename;
     FILE* fptr = fopen(filename.c_str(), "w");
     CHECK_NOTNULL(fptr);
     A->ToTextFile(fptr);
     fclose(fptr);
+    StringAppendF(&matlab_script,
+                  "tmp = load('%s', '-ascii');\n", filename.c_str());
+    StringAppendF(
+        &matlab_script,
+        "lsqp.A = sparse(tmp(:, 1) + 1, tmp(:, 2) + 1, tmp(:, 3), %d, %d);\n",
+        A->num_rows(),
+        A->num_cols());
   }
 
+
   if (D != NULL) {
     string filename = filename_prefix + "_D.txt";
     WriteArrayToFileOrDie(filename, D, A->num_cols());
+    StringAppendF(&matlab_script,
+                  "lsqp.D = load('%s', '-ascii');\n", filename.c_str());
   }
 
   if (b != NULL) {
     string filename = filename_prefix + "_b.txt";
     WriteArrayToFileOrDie(filename, b, A->num_rows());
+    StringAppendF(&matlab_script,
+                  "lsqp.b = load('%s', '-ascii');\n", filename.c_str());
   }
 
   if (x != NULL) {
     string filename = filename_prefix + "_x.txt";
     WriteArrayToFileOrDie(filename, x, A->num_cols());
+    StringAppendF(&matlab_script,
+                  "lsqp.x = load('%s', '-ascii');\n", filename.c_str());
   }
 
+  string matlab_filename = filename_prefix + ".m";
+  WriteStringToFileOrDie(matlab_script, matlab_filename);
   return true;
 }
 
