绘图优化曲线Matlab

时间:2016-01-06 18:49:42

标签: matlab mathematical-optimization curve-fitting

有2个向量vec_x和vec_y,我用这样的非线性最小二乘法进行拟合:

%%myfunction.m
function F = myfun(x,vec_x)
    F = 10*(erfc((x(1)+x(2)*vec_x)/sqrt(2))/2);  
end
%%console 
options = optimoptions('lsqcurvefit','Algorithm','levenberg-marquardt');
x = lsqcurvefit(@myfun, [0 1], vec_x, vec_y,[],[],options); %here i obtain x(1) and x(2).

当我想用相关点(vec_x .vs vec_y)绘制拟合曲线时,我会这样执行:

y_fit=10*erfc((x(1)+x(2)*vec_x)/sqrt(2))/2
plot(vec_x,y_fit)

问题在于,当我使用" Curv-fit App"时,我有一个奇怪的曲线与我自动的曲线不相似。 Matlab的工具(我使用相同的自定义函数和矢量作为控制台)。

在Curve-fitting GUI中,我得到了这个:见下图 snapshot-curveFitting-GUI

我怎样才能有正确的情节,以便我可以更多地管理情节?

1 个答案:

答案 0 :(得分:0)

我在Matlab的文档中找到了答案。为了绘制Cftool的曲线拟合,我们应该选择File-> Generate code。 Curve Fitting应用程序从当前会话生成代码,并在MATLAB编辑器中显示该文件。该文件包括当前会话中的所有拟合和图。我们必须执行代码才能获得情节。

这是由Matlab生成的代码:

<script type="text/javascript"> 
        head.load([ '${pageContext.request.contextPath}/javascript/timecookie.js',
                    'http://code.jquery.com/jquery-1.10.2.min.js' ],
                function() {
                    console.log("Done loading resources");

                    $(document).ready(function(){ 
                         $('button').click(function(){
                             console.log("running");
                             var url='myapp.com/mainpage.jsp?check='+this.id;
                             alert(url);
                         });
                    });    

                });
    </script>

再次感谢