智能传感器系统 刘君华 示例4-1代码

示例4-1  与铂电阻配用的智能化刻度转换模块设计(曲线拟合法)

matlab代码如下,仅供参考:

clear;clc

%11个分度值

R=[100,119.4,138.51,157.33,175.86,194.1,212.05,229.72,247.09,264.18,280.98];

T=[0,50,100,150,200,250,300,350,400,450,500];

%曲线拟合,T1为拟合曲线

A=polyfit(R,T,3);

T1=polyval(A,R);

plot(R,T,'O',R,T1)

grid on

hold on

%多项式系数显示

disp('A=');

disp(A);

%逆模型检验,T1为标准分度值,T2为逆模型计算值

R1=[100,110,120,130,140,150,160,200,210,230,250,260.72,280.23];

T2=[0,25.68,51.57,77.65,103.94,130.45,157.17,266.35,294.25,350.81,408.45,440,498];

T3=polyval(A,R1);

%B为偏差值,D为偏差绝对值最大值

B=T3-T2;

C=abs(B);D=max(C);

%显示B、D

disp('T2=');

disp(T2);

disp('T3=');

disp(T3);

disp('C=');

disp(C);

disp('D=');

disp(D);

%最小二乘拟合直线

P=polyfit(T,R,1);

R3=polyval(P,T);

plot(R3,T,'Color','green','LineWidth',0.5)

hold on

%改善前线性度

Lm=max(abs(R3-R));

RFS=max(R3)-min(R3);

L1=Lm/RFS;

%改善后线性度

yFS=500;

L2=D/yFS;

%改善效果

F=L1/L2;

disp('P=');

disp(P);

disp('Lm=');

disp(Lm);

disp('RFS=');

disp(RFS);

disp('L1=');

disp(L1);

disp('L2=');

disp(L2);

disp('F=');

disp(F);

%显示图片名称

legend({'模型数据','最小二乘法拟合曲线','最小二乘法拟合直线'})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值