请matlab高手过来看看 怎么用b样条曲线拟合离散点

请高手帮我写下程序小弟不胜感激~~~~~~~~~~~~x=1:20y=[4245474952596674859811112513614715716216416716816... 请高手帮我写下程序 小弟不胜感激~~~~~~~~~~~~
x=1:20

y=[42 45 47 49 52 59 66 74 85 98 111 125 136 147 157 162 164 167 168 168]

一共20个 离散点 我想用 matlab 用b样条曲线拟合 并且得到这个函数 大家来帮我下 我看了下matlab的 语句 但是我自己做是错误的~
展开
跟小邯学制图
2021-03-01 · 科技领域创作者
个人认证用户
跟小邯学制图
采纳数:12 获赞数:16527

向TA提问 私信TA
展开全部

73.Caxa中圆弧拟合样条曲线命令怎么使用?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shake075618
2014-04-29 · TA获得超过289个赞
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:219万
展开全部
你没有附上你的matlab代码啊~你再检查下,也好让网友帮你解答,祝好
更多追问追答
追问
小弟就是不懂  才发的帖子 我在网上找的套没用
追答

我刚查了下,b样条曲线拟合就是拟合成光滑曲线。这里可以尝试Matlab的polyfit命令,我尝试了好几个,发现在5阶的时候已经非常接近了,当然如果你需要更高精度,可以继续提高阶次。

代码:

x=[1:20];

y=[42   45   47   49   52   59   66   74   85   98  111  125  136  147  157  162  164  167  168  168];

plot(x,y,'r')

hold on

p=polyfit(x,y,5)

z=p(1)*x.^5+p(2)*x.^4+p(3)*x.^3+p(4)*x.^2+p(5)*x+p(6);

plot(x,z,'b')

legend('红色原来数据曲线','蓝色直接模拟曲线')

输出结果:

p =


    0.0006   -0.0315    0.5628   -3.4653   10.5082   34.1178

所以拟合结果是:

这是个人愚见,希望对你有帮助,有疑问请追问,若满意还望采纳,祝生活愉快!

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式