lulu199609
2017-05-09 02:26
采纳率: 0%
浏览 2.3k
已结题

高斯拟合 求matlab代码

怎么将一个二维高斯转换为两个一维高斯 用matlab怎么实现

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • weixin_38739225 2020-04-23 20:49

    function [fitresult, gof] = createFit(x, y)
    [xData, yData] = prepareCurveData( x, y); % Set up fittype and options.
    ft = fittype( 'gauss1' );
    opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
    opts.Display = 'Off';
    opts.Lower = [-Inf -Inf 0];
    opts.StartPoint = [y(ceil(length(x)/2)) x(ceil(length(x)/2)) 0.1]; % Fit model to data.
    [fitresult, gof] = fit( xData, yData, ft, opts ); % Plot fit with data.
    h = plot( fitresult, xData, yData);
    xlabel( 'β' );
    ylabel( 'R' );
    legend off
    grid on;hold on;
    plot(fitresult.b1,fitresult.a1,'^','markersize',6)
    运行它,然后在命令行窗口输入:createFit(x,y)

    评论
    解决 1 无用 1
    打赏 举报

相关推荐 更多相似问题