Matlab 隐函数方程求解&最小二乘法拟合一阶线性拟合&二阶拟合&传感器实验

   九层妖塔 起于垒土
在这里插入图片描述


Matlab 最小二乘法拟合一阶线性拟合&传感器实验


一、代码

%电容传感器位移实验数据 最小二乘法一阶线性拟合
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 隐函数方程求解&最小二乘法拟合一阶线性拟合&二阶拟合&传感器实验

%实验三十 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    %非线性误差、

```
  • 1
    点赞
  • 15
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

#法外狂徒张三

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值