• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab 多项式与点集拟合

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

多项式拟合

(1)polyfit是多项式的拟合函数

 

 

(2)polyval用于对已经拟合后的多项式系数,当给出某个点时求其函数值

(3)poly2str是将拟合后的多项式系数(双精度数组)转换为字符形式的函数(就是看着清楚一些),

         如 p=[1,3,4];poly2str(p,'x') ans = x^2 + 3 x + 4

备注:legend函数加标注

 

(4)linspace   常用的用来生成等间距数组的方法

用法:linspace(x1,x2,N)   
功能:linspace是Matlab中的一个指令,用于产生x1,x2之间的包括a1 a2在内的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。

确定N的方法是依照间距d=(a2-a1)/(N-1)

参考:https://jingyan.baidu.com/article/7e440953d40a762fc0e2ef1b.html  很详细

%%%%%%% matlab程序   多项式拟合

clc
x = [1   2    3   4     5     6     ];  %data
y = [5.5 43.1 128 290.7 498.4 978.67];  %data
p = polyfit(x,y,4)                      %p为拟合函数的系数

x2 = 1:.1:6;          
y2 = polyval(p,x2);          
plot(x,y,'o',x2,y2);
grid on
disp(char(['y=',poly2str(p,'t')]))
legend('y','y2')
%disp(char(['y=',poly2str(p,'t')],['a=',num2str(p(1)),' b=',num2str(p(2)),' c=',num2str(p(3))]));

另一个例子:

%%%%% matlab函数   

clc;
x = linspace(0,1,5)
y = 1./(1+x)
p = polyfit(x,y,4)
x1 = linspace(0,2);
y1 = 1./(1+x1);
f1 = polyval(p,x1);
figure
plot(x,y,'o')
hold on
plot(x1,y1)
plot(x1,f1,'r--')
legend('y','y1','f1')

参考:https://ww2.mathworks.cn/help/matlab/ref/polyfit.html  拟合

     https://www.cnblogs.com/farewell-farewell/p/7227516.html  拟合

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi判断文本文件的编码格式发布时间:2022-07-18
下一篇:
Delphi--从剪贴板拷贝文件示例代码发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap