发布网友 发布时间:2022-06-28 18:08
共1个回答
热心网友 时间:2023-10-10 01:56
>> x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0]; %输入数组 >> y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46]; >> f1=inline(poly2sym(polyfit(x,y,3))); %polyfit拟合得到系数,poly2sym由系数得到多项式,inline转换内联函数 >> f2=inline(poly2sym(polyfit(x,y,4))); >> plot(x,y,'*'); %绘散点图 >> for i=1:7 %text给各点做坐标标注,num2str转换数值为字符,strcat字符串连接 text(x(i),y(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y(i)),')')); end; >> xlabel('x'); %给x轴做标注 >> ylabel('y'); >> figure; %打开新的绘图窗口 >> y1=f1(x); %用拟合得到的式子求y值,如果想要拟合曲线更光滑,可将x的值更细化 >> y2=f2(x); >> plot(x,y1,'-r*'); %绘3次拟合曲线图 >> for i=1:7 text(x(i),y1(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y1(i)),')')); end; >> xlabel('x'); >> ylabel('y'); >> figure; >> plot(x,y2,'-bo'); %绘3次拟合曲线图 >> for i=1:7 text(x(i),y2(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y2(i)),')')); end; >> xlabel('x'); >> ylabel('y');