请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的 语句 但是我自己做是错误的~ 展开
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的 语句 但是我自己做是错误的~ 展开
2个回答
展开全部
73.Caxa中圆弧拟合样条曲线命令怎么使用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没有附上你的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
所以拟合结果是:
这是个人愚见,希望对你有帮助,有疑问请追问,若满意还望采纳,祝生活愉快!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询