From: Jacob Haynes on
Hi, first of all, I have matlab R2009b.

I am trying to intemperate data for a college project. (Multilpe 70,000 line peaces)
It is from a "satellite" that was launched to 30KM on a weather balloon. The data is from solar panels, one of which overloaded the ADC on the micro-controller we were using because of a huge, unexpected increase in efficiency when at cold temperatures, which wasn't taken into account when choosing resistor values. They were mounted on the sides of a spinning cube, and when out of the sun, they were below the limit of the ADC.

Well to get to the point, I need matlab to find a moving minimum, or whatever it is called. Something like a moving average except, I would like to have it find the minimum over 1000 points or so. How can I do this. BTW I am very inexperienced with matlab, and had never used it before doing data analysis with it a few weeks ago.
From: dpb on
Jacob Haynes wrote:
....
> Well to get to the point, I need matlab to find a moving minimum, or
> whatever it is called. Something like a moving average except, I
> would like to have it find the minimum over 1000 points or so. How
> can I do this. BTW I am very inexperienced with matlab, and had never
> used it before doing data analysis with it a few weeks ago.

How about a very short (10 elements or so) example of input and desired
output???

--
From: ImageAnalyst on
On Dec 4, 12:57 pm, "Jacob Haynes" <ezupeve_...(a)yopmail.com> wrote:
> Hi, first of all, I have matlab R2009b.
>
> I am trying to intemperate data for a college project. (Multilpe 70,000 line peaces)
> It is from a "satellite" that was launched to 30KM on a weather balloon. The data is from solar panels, one of which overloaded the ADC on the micro-controller we were using because of a huge, unexpected increase in efficiency when at cold temperatures, which wasn't taken into account when choosing resistor values. They were mounted on the sides of a spinning cube, and when out of the sun, they were below the limit of the ADC.
>
> Well to get to the point, I need matlab to find a moving minimum, or whatever it is called. Something like a moving average except, I would like to have it find the minimum over 1000 points or so. How can I do this. BTW I am very inexperienced with matlab, and had never used it before doing data analysis with it a few weeks ago.

--------------------------------------------------------------------------------------------------------------------
Jacob:
If you have the Image Processing Toolbox you can use the imerode()
function. A morphological erosion on a grayscale image is a moving
minimum - the minimum in a window that slides along your data. If you
don't have that toolbox, you should be able to use bsxfun().
Good luck,
ImageAnalyst
From: Bruno Luong on
Please take a look at this function. Mex setup is required, but it will be hard to beat the speed performance

http://www.mathworks.com/matlabcentral/fileexchange/24705-minmax-filter

Bruno
From: Jos (10584) on
"Jacob Haynes" <ezupeve_115(a)yopmail.com> wrote in message <hfbihh$2tf$1(a)fred.mathworks.com>...
> Hi, first of all, I have matlab R2009b.
>
> I am trying to intemperate data for a college project. (Multilpe 70,000 line peaces)
> It is from a "satellite" that was launched to 30KM on a weather balloon. The data is from solar panels, one of which overloaded the ADC on the micro-controller we were using because of a huge, unexpected increase in efficiency when at cold temperatures, which wasn't taken into account when choosing resistor values. They were mounted on the sides of a spinning cube, and when out of the sun, they were below the limit of the ADC.
>
> Well to get to the point, I need matlab to find a moving minimum, or whatever it is called. Something like a moving average except, I would like to have it find the minimum over 1000 points or so. How can I do this. BTW I am very inexperienced with matlab, and had never used it before doing data analysis with it a few weeks ago.

It is one of those jobs SLIDEFUN can do quite easily

% some data
data = ceil(10*rand(1,20)) ;
n = 3 ; % moving minimum over 3 points

movmin = slidefun(@min,n,data,'forward') ;

% show results
[data ; movmin]

My SLIDEFUN function can be found here:
http://www.mathworks.com/matlabcentral/fileexchange/12550

hth
Jos