请教高手下面这道题目用Matlab怎么解啊?是非线性回归的

混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成12个试块,记录了养护日期x(日)及抗压强度y(kg/cm2)的数据:
养护时间x 2 3 4 5 7 9 12 14 17 21 28 56
抗压强度y 35+r 42+r 47+r 53+r 59+r 65+r 68+r 73+r 76+r 82+r 86+r 99+r
建立非线性回归模型,对得到的模型和系数进行检验。
注明:此题中的+r代表加上一个[-0.5,0.5]之间的随机数

>> x=[2 3 4 5 7 9 12 14 17 21 28 56];
r=rand(1,12)-0.5;
y=[35 42 47 53 59 65 68 73 76 82 86 99];
n=3; %3阶拟合. 可以改变几次试试.
p=polyfit(x,y,n)
xi=linspace(2,56,100);
z=polyval(p,xi);
plot(x,y,'o',xi,z,'k:',x,y,'b')
legend('原始数据','3阶曲线')
运行结果:

p =

0.00144420443024 -0.14783961258777 5.00644966076517 28.72043419091152

表示拟合结果为:

y=0.00144420443024*x^3-0.14783961258777*x^2+5.00644966076517+28.72043419091152
温馨提示:答案为网友推荐,仅供参考
相似回答