Scaling Data for Comparison

9 views (last 30 days)
Shawn
Shawn on 6 Jun 2012
I have multiple arrays of different lengths that I would like to stretch/shrink for comparison. There are 90 trials of each task where I would like to plot diplacement vs. percent cycle. While I am able to normalize the percent cycle so I can graph multiple displacement vectors on top of one another, I cannot create a curve representative of the average of each of these displacement curves because each array has a different length.
I have tried using quantile(displacement, linspace(0,1,100)) to fit my curve into 100 equally spaced data points (representative of the percents) but it seems to rearrange my data points into increasing order.
Any suggestions as to how I can scale my data so the curves keep their shapes but I can also add vectors together for averaging?

Accepted Answer

Walter Roberson
Walter Roberson on 6 Jun 2012
For each trial:
interp1( linspace(0, 1, length(displacement)), displacement, linspace(0,1,100) )

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!