matlab多项式拟合曲线时,为什么会出现一部分直线一部分是曲线?

数据点变化较大时出现的是直线,变化不太大的时候出现的是曲线。我想要的是曲线

第1个回答  2020-03-27
一般出现这种情况是因为部分函数值太小。可以试试把x区间缩小,或者画对数y轴。
第2个回答  2017-07-21
x=[26.3 33.5 39.1 43.1 47.0 50.0 54.5 56.8 64.9 72.0 77.0];
y=[8.85 8.17 7.49 7.16 6.81 6.58 6.21 5.91 5.48 5.11 5.98];
%多项式拟合
n=1;
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k*',x,y1,'r-'); %画出数据对比图,黑点是原始数据,红线是拟合曲线

%指定函数拟合
f=fittype('a*e^(b*x)+c'); %引号里的是你的函数模型,默认是以x为自变量,其余为待定参数
fity=fit(x,y,f) %曲线拟合,会给出拟合结果
%再根据给出的结果计算出新的y值,画图神马的追问

我想要的拟合结果是一条曲线,您这个是一条直线。

本回答被网友采纳
相似回答