matlab polyint,다항식 곡선 피팅

먼저 구간 [0,2.5] 내에서 균일한 간격의 x 점으로 구성된 벡터를 생성한 다음, 이들 점에서 erf(x)를 계산합니다.

x = (0:0.1:2.5)';

y = erf(x);

6차 근사 다항식의 계수를 확인합니다.

p = polyfit(x,y,6)

p = 1×7

0.0084 -0.0983 0.4217 -0.7435 0.1471 1.1064 0.0004

피팅이 얼마나 일치하는지 보려면, 데이터 점에서 다항식을 계산하고 데이터, 피팅, 오차를 보여주는 테이블을 생성합니다.

f = polyval(p,x);

T = table(x,y,f,y-f,'VariableNames',{'X','Y','Fit','FitError'})

T=26×4 table

X Y Fit FitError

___ _______ __________ ___________

0 0 0.00044117 -0.00044117

0.1 0.11246 0.11185 0.00060836

0.2 0.2227 0.22231 0.00039189

0.3 0.32863 0.32872 -9.7429e-05

0.4 0.42839 0.4288 -0.00040661

0.5 0.5205 0.52093 -0.00042568

0.6 0.60386 0.60408 -0.00022824

0.7 0.6778 0.67775 4.6383e-05

0.8 0.7421 0.74183 0.00026992

0.9 0.79691 0.79654 0.00036515

1 0.8427 0.84238 0.0003164

1.1 0.88021 0.88005 0.00015948

1.2 0.91031 0.91035 -3.9919e-05

1.3 0.93401 0.93422 -0.000211

1.4 0.95229 0.95258 -0.00029933

1.5 0.96611 0.96639 -0.00028097

이 구간에서, 보간된 값과 실제 값은 상당히 근사하게 일치합니다. 플롯을 만들어 이 구간 밖에서 외삽 값이 실제 데이터로부터 얼마나 빠르게 발산하는지 표시합니다.

x1 = (0:0.1:5)';

y1 = erf(x1);

f1 = polyval(p,x1);

figure

plot(x,y,'o')

hold on

plot(x1,y1,'-')

plot(x1,f1,'r--')

axis([0 5 0 2])

hold off

e00428e341c4eb329604f2b5a185e717.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值