view +anim/setup_time_quantity_plot.m @ 816:b5e5b195da1e feature/timesteppers

Add getState to timesteppers, returning the relevant state of the timestepper - Add getState which returns the 'state' of the specialized timestepper.
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Mon, 10 Sep 2018 16:19:16 +0200
parents a38c243991d0
children 2ffa82fb5172
line wrap: on
line source

function [update_data, plot_handles] = setup_time_quantity_plot(yfun)
    default_arg('yfun',@(y)y);

    if isa(yfun,'function_handle')
        yfun = {yfun};
    end

    t = [];
    for i = 1:length(yfun)
        plot_handles(i) = animatedline();
    end

    axis_handle = gca;

    function update(t_now,varargin)
        if ishandle(axis_handle)
            % t = [t t_now];
            for j = 1:length(yfun)
                addpoints(plot_handles(j),t_now,yfun{j}(varargin{:}));
            end

            [t,~] = getpoints(plot_handles(1));
            if t(1) < t(end)
                xlim(axis_handle, [t(1) t(end)]);
            end
        end
    end
    update_data = @update;
end