diff +anim/setup_1d_plot.m @ 0:48b6fb693025

Initial commit.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 17 Sep 2015 10:12:50 +0200
parents
children b21c53ff61d4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/+anim/setup_1d_plot.m	Thu Sep 17 10:12:50 2015 +0200
@@ -0,0 +1,29 @@
+function [update_data,figure_handle,plot_handles] = setup_1d_plot(x,y_lim,yfun)
+    default_arg('yfun',{@(y)y});
+
+    figure_handle = figure;
+    plot_handles(1) = plot(x,0*x);
+    hold on
+    for i = 2:length(yfun)
+        plot_handles(i) = plot(x,0*x);
+    end
+    hold off
+
+    axis_handle = gca;
+
+    xlabel('x')
+    ylabel('y')
+    xlim([x(1) x(end)]);
+    ylim(y_lim);
+
+    function update(t,varargin)
+        if ishandle(figure_handle) && ishandle(axis_handle)
+            for i = 1:length(yfun)
+                set(plot_handles(i),'YData',yfun{i}(varargin{:}));
+            end
+            title(axis_handle,sprintf('T=%.3f',t));
+            drawnow
+        end
+    end
+    update_data = @update;
+end