Separate cell array and perform Gaussian fit

2 ビュー (過去 30 日間)
Nathan
Nathan 2016 年 1 月 11 日
コメント済み: Star Strider 2016 年 1 月 12 日
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
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
Nathan 2016 年 1 月 12 日
Thank you for the answer! After some manipulation, I was able to get it to work for my script.
Thanks again!
Star Strider
Star Strider 2016 年 1 月 12 日
My pleasure!
If my Answer helped you solve your problem, please Accept it.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with Curve Fitting Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by