Not sure how to do a smoothing average of noisy data
Show older comments

Not sure how to do a smoothing average of noisy data based off what the instructions asked this is what I've come up with so far any help would be appreciated.
clear;
clc;
load('noisydata.mat','x');
N = x;
y = zeros(1,length(N));
for k = 2:1:length(x)
if (k~= 1 & k~= N)
y(k) = (x(k-1)+x(k+1))/2;
end
end
Accepted Answer
More Answers (1)
Geoff Hayes
on 19 Feb 2015
Jason - I think that you have correctly interpreted what the question is asking (less the plot) but you may want to reconsider the condition for your if statement
if (k~= 1 & k~= N)
Remember that k is a scalar but N is a vector/array so this comparison is not what you want. If you want to exclude the first and last elements from x then just extend what you have started with the for statement
for k = 2:1:length(x)-1
So now k ranges from 2 to one less than the length of x which is exactly which values you need to consider (and so no longer have any need for the condition).
3 Comments
Jason
on 19 Feb 2015
Geoff Hayes
on 19 Feb 2015
Jason - you are being asked to plot the original noisy data versus the sample number. The sample numbers are the indices into your noisy matrix x. How would you plot this?
Jason
on 19 Feb 2015
Categories
Find more on Logical 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!