diff --git a/matlab/dyn_figure.m b/matlab/dyn_figure.m
new file mode 100644
index 0000000000000000000000000000000000000000..f26a3934560482ea8fb47649811f55f54e3b9149
--- /dev/null
+++ b/matlab/dyn_figure.m
@@ -0,0 +1,36 @@
+function h=dyn_figure(DynareOptions,varargin)
+%function h=dyn_figure(DynareOptions,varargin)
+% initializes figures for DYNARE
+%
+% INPUTS
+%    DynareOptions: dynare options
+%    varargin: the same list of possible inputs of the MATLAB function figure
+%
+% OUTPUTS
+%    h     : figure handle
+%
+% SPECIAL REQUIREMENTS
+%    none
+
+% Copyright (C) 2012 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Dynare is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+
+if DynareOptions.nodisplay,
+    h = figure(varargin{:},'visible','off');
+else
+    h = figure(varargin{:});
+end
diff --git a/matlab/dyn_saveas.m b/matlab/dyn_saveas.m
new file mode 100644
index 0000000000000000000000000000000000000000..78e3fba845c8f3c8df652751bcbad37107837af8
--- /dev/null
+++ b/matlab/dyn_saveas.m
@@ -0,0 +1,49 @@
+function dyn_saveas(h,fname,DynareOptions)
+%function dyn_saveas(h,fname,DynareOptions)
+% save figures for DYNARE
+%
+% INPUTS
+%    h     : figure handle
+%    fname : name of the saved figure
+%    DynareOptions: dynare options
+%
+% OUTPUTS
+%    none
+%
+% SPECIAL REQUIREMENTS
+%    none
+
+% Copyright (C) 2012 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Dynare is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+
+if strmatch('eps',DynareOptions.graph_format)
+    eval(['print -depsc2 ' fname '.eps']);
+end
+if ~exist('OCTAVE_VERSION')
+    if strmatch('pdf',DynareOptions.graph_format)
+        eval(['print -dpdf ' fname]);
+    end
+    if strmatch('fig',DynareOptions.graph_format)
+        if DynareOptions.nodisplay
+            set(h, 'Visible','on');
+        end
+        saveas(h,[fname '.fig']);
+    end
+end
+if DynareOptions.nodisplay
+    close(h);
+end