matlab做曲线拟合出现参数精度不够,拟合函数画出折线(不平滑)时的有效解决方法(平滑化)

您所在的位置:网站首页 函数拟合的方法 matlab做曲线拟合出现参数精度不够,拟合函数画出折线(不平滑)时的有效解决方法(平滑化)

matlab做曲线拟合出现参数精度不够,拟合函数画出折线(不平滑)时的有效解决方法(平滑化)

2023-03-30 01:39| 来源: 网络整理| 查看: 265

近日在做一个多项式曲线拟合问题时遇到如题所述的问题,查阅良久,现 得有效解决方法,在此汇总!

Matlab做曲线拟合所给出的表达式参数只有四位有效数字,在有些问题中,在需要用拟合出的表达式进行绘图时,函数对系数对依赖程度过高导致用polt画出对图是折线(类似于将各点坐标连接起来)。若要对绘制曲线进行光滑处理,现有以下两种有效解决方法。

第一种:将曲线拟合工具箱中对拟合结果Fit>Save to Workspace,在主界面workspace中可以看到保存的fittedmodel;然后在command window 中用 >> coeffvalues(fittedmodel) 语句得到的ans即为表达式各项参数的精确结果(有15位有效数字)用这个参数的表达式画图可以解决大部分该问题,如果结果任然不行可结合第二种方法。

第二种:采用样条函数!

 

 values = spcrv([[x(1) x x(end)];[y(1) y y(end)]],3);  plot(values(1,:),values(2,:))

具体原理见http://blog.sina.com.cn/s/blog_8db7961c0101fg7b.html

x ,y 是拟合函数表达式的自变量和因变量。通过这种方法可以得到光滑的拟合曲线。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3