作业帮 > 数学 > 作业

Matlab多项式拟合求解

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/05/01 05:31:18
Matlab多项式拟合求解
p = polyfit(x,y,5);
f = polyval(p,x);
plot(x,y,'o',x,f,'-');
p
以上是程序,结果为:
p =
1.0e+014 *( -0.0000 0.0000 -0.0000 0.0000 -0.0027 1.0632)
以上的1.0e+014 是什么意思 怎么把它换算为10进制数?
Matlab多项式拟合求解
一楼说法是对的.
可以按下列方法转换
方法1、在执行上列命令前,增加
format short
方法2、vpa(p,5)
再问: format short 怎么加?这样吗?format short;p = polyfit(x,y,5);f = polyval(p,x);plot(x,y,'o',x,f,'-');p 还是p = polyfit(x,y,5);f = polyval(p,x);plot(x,y,'o',x,f,'-');format short(p); 另外vpa(p,5)怎么弄?去掉最后的p,变为:p = polyfit(x,y,5);f = polyval(p,x);plot(x,y,'o',x,f,'-');vpa(p,5)?
再答: 方法1 format short p = polyfit(x,y,5); f = polyval(p,x); plot(x,y,'o',x,f,'-'); p 方法2 p = polyfit(x,y,5); f = polyval(p,x); plot(x,y,'o',x,f,'-'); p vpa(p,5)
再问: 请问一下,我觉得1.0e+014丢失太多数据了,比如1.0e+014*(0.0000)后面八位数据都丢失了,怎么避免这种情况?
再答: 可以将vpa(p,5)改为vpa(p,8),像5,8可以根据你的要求设置