Separate cell array and perform Gaussian fit
显示 更早的评论
Hey everyone,
Please forgive me in advance if this is a trivial problem. I am not a matlab expert.
I have a set of data that is 36180x3. Every 180 rows, I need to fit a gaussian distribution to the data and record the c-parameter from the fit (x data is 2nd column, y data is 3rd column).
I am struggling to put together an i loop that would achieve this. Can someone help me with this?
回答(1 个)
Star Strider
2016-1-11
编辑:Star Strider
2016-1-11
No problem is ‘trivial’, but some are easier than others!
I would use the reshape function:
M = randn(360, 3); % Create Data Matrix
Mr = reshape(M, [], fix(size(M,1)/180), 3); % Reshape
Q1 = M(1:5,:); % Check Original (Delete)
Q2 = squeeze(Mr(1:5,1,:)); % Check Results (Delete)
for k1 = 1:size(Mr,2)
prms{k1} = polyfit(Mr(:,k1,2), Mr(:,k1,3), 5); % Fit Data
end
I used polyfit here only to illustrate the procedure. I did not attempt to do a Gauss function fit.
2 个评论
Nathan
2016-1-12
Star Strider
2016-1-12
My pleasure!
If my Answer helped you solve your problem, please Accept it.
类别
在 帮助中心 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!