用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图由实验给出下列数据表x 0.0 0.1 0.2 0.3 0.5 0.8 1.0y 1.0 0.41 0.50 0.61 0.91 2.02 2.46试求以幂函数
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 01:43:20
![用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图由实验给出下列数据表x 0.0 0.1 0.2 0.3 0.5 0.8 1.0y 1.0 0.41 0.50 0.61 0.91 2.02 2.46试求以幂函数](/uploads/image/z/7135939-19-9.jpg?t=%E7%94%A8matlab%E7%BC%96%E5%86%99%E7%A8%8B%E5%BA%8F%E6%B1%82%E4%BB%A5%E5%B9%82%E5%87%BD%E6%95%B0%E4%BD%9C%E5%9F%BA%E5%87%BD%E6%95%B0%E7%9A%843%E6%AC%A1%E3%80%814%E6%AC%A1%E5%A4%9A%E9%A1%B9%E5%BC%8F%E7%9A%84%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%9B%B2%E7%BA%BF%E6%8B%9F%E5%90%88%2C%E7%94%BB%E5%87%BA%E6%95%B0%E6%8D%AE%E6%95%A3%E7%82%B9%E5%9B%BE%E5%8F%8A%E6%8B%9F%E5%90%88%E6%9B%B2%E7%BA%BF%E5%9B%BE%E7%94%B1%E5%AE%9E%E9%AA%8C%E7%BB%99%E5%87%BA%E4%B8%8B%E5%88%97%E6%95%B0%E6%8D%AE%E8%A1%A8x+0.0+0.1+0.2+0.3+0.5+0.8+1.0y+1.0+0.41+0.50+0.61+0.91+2.02+2.46%E8%AF%95%E6%B1%82%E4%BB%A5%E5%B9%82%E5%87%BD%E6%95%B0)
用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图由实验给出下列数据表x 0.0 0.1 0.2 0.3 0.5 0.8 1.0y 1.0 0.41 0.50 0.61 0.91 2.02 2.46试求以幂函数
用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图
由实验给出下列数据表
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
试求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图,并预测x=0.7处的近似值.
用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图由实验给出下列数据表x 0.0 0.1 0.2 0.3 0.5 0.8 1.0y 1.0 0.41 0.50 0.61 0.91 2.02 2.46试求以幂函数
>> 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');