九层妖塔 起于垒土

线性拟合r2系数 python_数学建模



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     %非线性误差

二、数据处理结果

线性拟合r2系数 python_数学建模_02


线性拟合r2系数 python_数学建模_03

三、Notes

 ●函数polyfit—多项式曲线拟合
 ●函数polyval—多项式计算
 ●函数text—向数据点添加文本说明

线性拟合r2系数 python_数学建模



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_Vo
K=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);     %转化为小数
end

RT
p = 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    %非线性误差、

```