关于MATLAB曲线拟合问你。拟合后的多项式我把数值带入后为什么有那么大的差异
需要拟合的数据如下:y=84.87:28.29:1414.5;x=[203140637586971101161231301371441501561621681761831...
需要拟合的数据如下:y=84.87:28.29:1414.5;
x=[20 31 40 63 75 86 97 110 116 123 130 137 144 150 156 162 168 176 183 188 193 197 203 210 216 223 226 229 231 233 236 239 241 244 248 252 255 260 263 266 268 270 273 275 278 282 284 286]
然后我采用多项式拟合函数:
P=polyfit(x,y,3)
pop3=polyval(P,x) %得到多项式在数据点处的值。
得出结果如下:
P =
0.0001 -0.0076 2.6822 29.8489
那么就说明这个多项式是
y2=0.0001*x2.^3-0.0076*x2.^2+2.6822*x2+29.8489
subplot(2,2,1),plot(x,pop3,'-',x,y,'+')
subplot(2,2,2),plot(x2,y2,'-',x,y,'+')
然后我分别画出了POP3和y2在x处的取值,自己也进行了计算,发现差值很大,这是为什么啊,急救答案。 展开
x=[20 31 40 63 75 86 97 110 116 123 130 137 144 150 156 162 168 176 183 188 193 197 203 210 216 223 226 229 231 233 236 239 241 244 248 252 255 260 263 266 268 270 273 275 278 282 284 286]
然后我采用多项式拟合函数:
P=polyfit(x,y,3)
pop3=polyval(P,x) %得到多项式在数据点处的值。
得出结果如下:
P =
0.0001 -0.0076 2.6822 29.8489
那么就说明这个多项式是
y2=0.0001*x2.^3-0.0076*x2.^2+2.6822*x2+29.8489
subplot(2,2,1),plot(x,pop3,'-',x,y,'+')
subplot(2,2,2),plot(x2,y2,'-',x,y,'+')
然后我分别画出了POP3和y2在x处的取值,自己也进行了计算,发现差值很大,这是为什么啊,急救答案。 展开
2个回答
展开全部
y=84.87:28.29:1414.5;
x=[20 31 40 63 75 86 97 110 116 123 130 137 144 150 156 162 168 176 183 188 193 197 203 210 216 223 226 229 231 233 236 239 241 244 248 252 255 260 263 266 268 270 273 275 278 282 284 286];
p=polyfit(x,y,3);
% x2=0:300;
y2=polyval(p,x)
subplot(2,1,1)
plot(x,y,'*',x,y2,'s')
subplot(2,1,2)
plot(x,(y-y2)./y)
看相对误差,拟合精度还是挺高的。
x=[20 31 40 63 75 86 97 110 116 123 130 137 144 150 156 162 168 176 183 188 193 197 203 210 216 223 226 229 231 233 236 239 241 244 248 252 255 260 263 266 268 270 273 275 278 282 284 286];
p=polyfit(x,y,3);
% x2=0:300;
y2=polyval(p,x)
subplot(2,1,1)
plot(x,y,'*',x,y2,'s')
subplot(2,1,2)
plot(x,(y-y2)./y)
看相对误差,拟合精度还是挺高的。
展开全部
y=84.87:28.29:1414.5;
x=[20 31 40 63 75 86 97 110 116 123 130 137 144 150 156 162 168 176 183 188 193 197 203 210 216 223 226 229 231 233 236 239 241 244 248 252 255 260 263 266 268 270 273 275 278 282 284 286];
p=polyfit(x,y,3);
x2=0:300;
y2=polyval(p,x2)
plot(x,y,'*',x2,y2)
x=[20 31 40 63 75 86 97 110 116 123 130 137 144 150 156 162 168 176 183 188 193 197 203 210 216 223 226 229 231 233 236 239 241 244 248 252 255 260 263 266 268 270 273 275 278 282 284 286];
p=polyfit(x,y,3);
x2=0:300;
y2=polyval(p,x2)
plot(x,y,'*',x2,y2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询