作业帮 > 综合 > 作业

求助matlab拟合曲线,

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/13 00:44:53
求助matlab拟合曲线,
现在要处理三组数据,是人体脊柱的弯曲曲线,分别是弯曲30度,60度,90度的曲线
希望能通过这三条曲线得到0-90度范围内的所有曲线,
30°
x1=[41.5 27 12.5 4 -8 -20 -31.5 -46 -59 -69.5 -98.5 -115 -135.5 -152.5 -174 -193.5]
y1=[45 78.5 119 156.5 193 227 295.5 288 317.5 341.5 381.5 401 419.5 432 440 452]
60°
x2=[32.5 10.5 -12.5 -34.5 -66.5 -90 -115 -138.5 -161 -187 -210.5 -231.5 -258.5 -281 -301 -327]
y2=[38.5 72.5 105.5 136 161 186 204 223.5 238 251.5 266 277 285.5 290 290 289]
90°
x3=[21 -8.5 -40.5 -77.5 -112 -145 -174.5 -206 -233.5 -285 -310.5 -338.5 -359 -379 -399 -417]
y3=[26.5 52.5 73.5 92 100 107 113 115 116 110 97.5 89 74 59.5]
y3少了几条数据 y3=[26.5 52.5 73.5 92 100 107 113 115 116 118 116 110 97.5 89 74 59.5]
求助matlab拟合曲线,
我给你一个思路吧:
这属于一个一维差值问题!
你可以这样做,假设给你一个度数50°,你可以先在x1,x2,x3中插值得到一个x,再从y1,y2,y3中插值得到一个y,那么就可以得到你要的曲线了.
再问: 我对matlab 基本不懂,都是在现学现用,插值的概念不是很明显啊 能不能具体的说说呢? 谢谢
再答: 你使用下面的程序吧 x1=[41.5 27 12.5 4 -8 -20 -31.5 -46 -59 -69.5 -98.5 -115 -135.5 -152.5 -174 -193.5]; y1=[45 78.5 119 156.5 193 227 295.5 288 317.5 341.5 381.5 401 419.5 432 440 452]; x2=[32.5 10.5 -12.5 -34.5 -66.5 -90 -115 -138.5 -161 -187 -210.5 -231.5 -258.5 -281 -301 -327]; y2=[38.5 72.5 105.5 136 161 186 204 223.5 238 251.5 266 277 285.5 290 290 289]; x3=[21 -8.5 -40.5 -77.5 -112 -145 -174.5 -206 -233.5 -285 -310.5 -338.5 -359 -379 -399 -417]; y3=[26.5 52.5 73.5 92 100 107 113 115 116 118 116 110 97.5 89 74 59.5]; angle=[30 60 90]; x=[x1;x2;x3]; y=[y1;y2;y3]; anglein=50; xi=interp1(angle,x,anglein); yi=interp1(angle,y,anglein); 说明:你的数据只有30°到90°的范围,你只能得到这个范围内的,不能得到0°到30°之间的。不过你掌握了方法就可以自己再加一个数据了! 祝你学习愉快!