九层妖塔 起于垒土
Matlab 最小二乘法拟合一阶线性拟合&传感器实验
一、代码二、数据处理结果三、Notes一、代码
%电容传感器位移实验数据 最小二乘法一阶线性拟合x = [13.080,12.580,12.080,11.580,11.080,10.580,10.080,9.580,9.080,8.580,8.080,7.580,7.080]; %13 y = [-440,-360,-283,-205,-134,-61,0,67,123,184,235,290,337];p = polyfit(x,y,1); %最小二乘法一阶线性拟合a = p(1)%截距b = p(2)%斜率%计算在 x 中的点处拟合的多项式 p。用这些数据绘制得到的线性回归模型。f = polyval(p,x); %拟合直线plot(x,y,'o',x,f,'-'); grid on;grid minor; %显示网格legend('实验数据','拟合直线'); str={'-440','-360','-283','-205','-134','-61','0','67','123','184','235','290','337'}; text(x,y+15,str,'HorizontalAlignment','center');text(9,200,['y= ',num2str(p(1)),'x+',num2str(p(2))],'FontSize',15);xlabel('X (mm)'); ylabel('V(mV)'); title('电容传感器位移实验数据 最小二乘法一阶线性拟合');m = max(f-y) %输出值(多次测量时为平均值)与拟合直线的最大偏差no_line = m / 800%非线性误差
二、数据处理结果
三、Notes
●函数polyfit
—多项式曲线拟合
●函数polyval
—多项式计算
●函数text
—向数据点添加文本说明
Matlab 隐函数方程求解&最小二乘法拟合一阶线性拟合&二阶拟合&传感器实验
一、代码二、数据处理结果三、Notes%实验三十 Pt100 铂电阻测温特性实验%实验数据 最小二乘法一阶线性拟合t = linspace(40,70,7); Vo = [-112.5,-119.4,-126.2,-133.6,-140.8,-148.2,-155.5];figure(1) %电压与温度的分析Vo_p = polyfit(t,Vo,1); %最小二乘法一阶线性拟合Vo_a = Vo_p(1)%斜率Vo_b = Vo_p(2)%截距%计算在 x 中的点处拟合的多项式 p。用这些数据绘制得到的线性回归模型。Vo_f = polyval(Vo_p,t); %拟合直线plot(t,Vo,'o',t,Vo_f,'-'); grid on;grid minor; %显示网格legend('实验数据','拟合直线'); str={'-112.5','-119.4','-126.2','-133.6','-140.8','-148.2','-155.5'}; text(t,Vo+1,str,'HorizontalAlignment','center');text(52,-140,['Vo= ',num2str(p(1)),'t+',num2str(p(2))],'FontSize',15);xlabel('温度t'); ylabel('电压Vo'); title('实验三十 Pt100 铂电阻测温特性实验 最小二乘法一阶线性拟合');Vo_m = max(Vo_f-Vo) %输出值(多次测量时为平均值)与拟合直线的最大偏差Vo_no_line = Vo_m / 50%非线性误差figure(2) %阻值与温度的分析syms Rt K R2 R3 R4 Vc syms_VoK=10;R2=5000;R3=5000;R4=100;Vc=4;RT = zeros(1,length(Vo));for n = 1:length(Vo)syms_Vo=Vo(n) * 0.001;eqn = K*((R4/(R4+R2)) - (Rt/(R3+Rt)))*Vc == syms_Vo ;solx = solve(eqn,Rt); %求解Rt表达式RT(n) = vpa(solx);%转化为小数endRTp = polyfit(t,RT,1); %最小二乘法一阶线性拟合a = p(1)%截距b = p(2)%斜率%计算在 x 中的点处拟合的多项式 p。用这些数据绘制得到的线性回归模型。f = polyval(p,t); %拟合直线plot(t,RT,'o',t,f,'-'); grid on;grid minor; %显示网格legend('实验数据','拟合直线'); str={'114.6727' '115.5754' '116.4653' '117.4341' '118.3770' '119.3465' '120.3033'}; text(t,RT+0.5,str,'HorizontalAlignment','center');text(55,120,['Rt= ',num2str(p(1)),'t+',num2str(p(2))],'FontSize',15);xlabel('温度t'); ylabel('阻值Rt'); title('实验三十 Pt100 铂电阻测温特性实验 最小二乘法一阶线性拟合');m = max(f-RT) %输出值(多次测量时为平均值)与拟合直线的最大偏差no_line = m / 50 %非线性误差、```
如果觉得《Matlab 隐函数方程求解最小二乘法拟合一阶线性拟合二阶拟合传感器实验》对你有帮助,请点赞、收藏,并留下你的观点哦!