Rank: 184 based on 392 downloads (last 30 days) and 11 files submitted
photo

Tucker McClure

E-mail
Company/University
An Uncommon Lab
Lat/Long
33.857655, -118.29303

Personal Profile:

I make tools for fast and robust state and parameter estimation and consult with aerospace companies about guidance, navigation, control, simulation, and optimization with An Uncommon Lab (anuncommonlab.com).

On the side, I create music (sometimes with MATLAB) and published an album which is available from any major online service like Pandora or iTunes.

Professional Interests:
autonomy, guidance, control, aerospace, machine learning, sound synthesis, music, optimization, emergent behavior

 

Watch this Author's files

 

Files Posted by Tucker View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
05 Jun 2014 Screenshot Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure line plot, big data, line plot reducer, pick of the week, potw 66 18
  • 4.5625
4.6 | 16 ratings
23 May 2014 Screenshot odehybrid Simulation engine for hybrid continuous- and discrete-time systems Author: Tucker McClure simulation, ordinary differential..., difference equations, ode, logging, state machine 22 2
  • 5.0
5.0 | 1 rating
14 Aug 2013 Find and Replace in Files Replace the specified text in a list of files with new text. Author: Tucker McClure regular expressions 25 0
25 Jul 2013 Screenshot MIDI Interface for MATLAB Supports bringing incoming MIDI data into MATLAB on Windows. Author: Tucker McClure midi, audio, driver, windows sdk 17 1
  • 5.0
5.0 | 1 rating
23 Jul 2013 Screenshot Functional Programming Constructs A set of files for treating many operations, like "if", "for", and even "()", as functions. Author: Tucker McClure functional programmin..., anonymous function, function handle, anonymous conditional, anonymous loop 30 11
  • 5.0
5.0 | 6 ratings
Comments and Ratings by Tucker View all
Updated File Comments Rating
05 Jun 2014 Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure

Updated to gracefully allow multiple LinePlotReducers in a single axes object for convenience (thanks for all the feedback, Plastic). However, note that it's still fastest to use a single LinePlotReducer to manage multiple lines. Thanks all.

23 May 2014 odehybrid Simulation engine for hybrid continuous- and discrete-time systems Author: Tucker McClure

Updated to supports versions as old as R2008a. Thanks to Mike for the 'cast' tip.

Also, thanks for the feedback Matthew!

19 May 2014 Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure

Hi Soul,

Looks like that should work. Basically, if it works with a 'plot' command, it should work with 'LinePlotReducer' (or equivalently, 'reduce_plot'). The examples_of_line_plot_reducer.m file holds many such things, including this example, where three things are plotted, all managed by a LinePlotReducer:

lpr = LinePlotReducer( ...
t, x(1, :), 'b:', ...
t, x(2, :), 'g', ...
t, x(3, :), 'r--*');

06 Feb 2014 Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure

Hi veleno85,

Ah, yes, you can't pass cell arrays directly to 'plot'. Notice that your commented-out line 'plot(Load{...})' uses curly brackets and so is actually returning a matrix and not a cell array. However, you're passing the cell arrays to reduce_plot. There are many ways to fix this.

% Easiest way
Load = cell2mat(Data(:, 9));
Time = cell2mat(Data(:, 1));

% Use curly braces to access the cells and add square brackets to form a new matrix with the guts of all those cells (a little harder to understand).
Load = [Data{:, 9}];
Time = [Data{:, 1}];

Alternately, if your 'importfile' function is auto-generated using the Import Tool, then you could re-run the Import Tool and select "column vectors" as the output type so that you don't have to select columns from a big cell array. Then you could generate a new 'importfile' function with this option.

Does that help?

And welcome to MATLAB. :)

31 Jan 2014 Real-Time Audio Processor Simplifies streaming or generating audio in real time. Author: Tucker McClure

Hi Fer,

This should be pretty easy. Here's where to get started.

1. Usually, one calls MATLAB's 'filter' function when all of the data is present, but if we want to use it on a real-time stream, then we'll need to call it many times on little chunks of audio as they come in. Of course, filters have state, so we can't just call the filter "fresh" on each little chunk; we'll have pass in the last filter state to get it started where it left off last time. MATLAB has this built in:

[out, state_out] = filter(b, a, in, state_in);

2. Now we need to wrap this up in a usable function with our coefficients. Something like this:

[out, state] = my_filter(t, in, state)

b = [...];
a = [...];
[out, state] = filter(a, b, in, state);

end

(See sine_of_the_times.m for an example.)

3. Now we tell the Real-Time Audio Process to use this function on all incoming audio. We can easily do this with a "HandlePlayer", something like this:

rtap = HandlePlayer(@my_filter, ...);
rtap.Play();
rtap.release();

(See handle_driver.m for an example; note that the example is stereo in/out.)

Please also see the "Real Time Audio Processor.docx" file for much more discussion.

Comments and Ratings on Tucker's Files View all
Updated File Comment by Comments Rating
08 Aug 2014 Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure Krasoulis, Agamemnon

Very smart and useful, thanks!

01 Aug 2014 Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure xsystem1

I have put data cursors using your submission plot code. After zooming-in the data and putting a data cursor, once I zoom out, the value of the data cursor changes a lot! Can you correct this?? I have to export 20 odd data cursors to workspace and your work around is quite fast.

10 Jul 2014 Table Breakpoint Optimization A set of tools for finding the best way to reduce the size of a table. Author: Tucker McClure Deoras, Ameya

Excellent! Works great for approximating a curve with piecewise linear functions

08 Jul 2014 Automatic Terrain Generation A set a tools for generating artificial terrain and other rough phenomena mapped over a 2D surface. Author: Tucker McClure Anne

11 Jun 2014 Plot (Big) Makes MATLAB's line plots much faster. Author: Tucker McClure James

Contact us