用最小二乘法拟合,matlab该怎么写,x,y如下:
x=[7792118143152186218232273309349417];y=[32.520.98.217.0666666615.521.0512.533333332...
x=[77 92 118 143 152 186 218 232 273 309 349 417]; y=[32.5 20.9 8.2 17.06666666 15.5 21.05 12.53333333 28.3 22.6333333 15.23333333 9.7666666666 21.5];
展开
1个回答
展开全部
做多项式拟合,可这样:
x=[77 92 118 143 152 186 218 232 273 309 349 417];
y=[32.5 20.9 8.2 17.06666666 15.5 21.05 12.53333333 28.3 22.6333333 15.23333333 9.7666666666 21.5];
n=10;%n可改
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k*',x,y1,'r-');
x=[77 92 118 143 152 186 218 232 273 309 349 417];
y=[32.5 20.9 8.2 17.06666666 15.5 21.05 12.53333333 28.3 22.6333333 15.23333333 9.7666666666 21.5];
n=10;%n可改
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k*',x,y1,'r-');
更多追问追答
追问
我想要表达式,哪儿看
追答
x=[77 92 118 143 152 186 218 232 273 309 349 417];
y=[32.5 20.9 8.2 17.06666666 15.5 21.05 12.53333333 28.3 22.6333333 15.23333333 9.7666666666 21.5];
n=10;%n可改
A=polyfit(x,y,n);
poly2sym(A)
结果:
ans =
(6767392294250529*x^10)/5192296858534827628530496329220096 - (7225138890317321*x^9)/2535301200456458802993406410752 + (1686331281132889*x^8)/618970019642690137449562112 - (3620902692226579*x^7)/2417851639229258349412352 + (4943810177248985*x^6)/9444732965739290427392 - (8957794541009535*x^5)/73786976294838206464 + (1361721310953229*x^4)/72057594037927936 - (548240504840741*x^3)/281474976710656 + (8946804866143521*x^2)/70368744177664 - (5218985249014481*x)/1099511627776 + 1323437970594109/17179869184
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询