求传感器非线性误差、灵敏度(matlab).doc

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

选用matlab对实验数据进行处理:

在实验过程中通过差值的计算可以看出,x~v关系为线性关系所以选择使用MATLAB进行线性拟合

%输入实验数据

x=[4.2,4.3,4.4,4.4,4.4,4.7,4.8,4.9,5.0,5.1];%自变量位移

y=[-44,1,39,79,125,164,208,247,289,333];%因变量电压

xmean=mean(x);ymean=mean(y);

sumx2=(x-xmean)*(x-xmean)';

sumxy=(y-ymean)*(x-xmean)';

a=sumxy/sumx2;%解出直线斜率a(即传感器灵敏度)

b=ymean-a*xmean;%解出直线截距b

z=((a*(x(1,10))+b-(y(1,10)))/(y(1,10)));%“10”是自变量的个数,z为非线性误差(即线性度)

a

b

z

%作图,先把原始数据点用蓝色"十"字描出来

figure

plot(x,y,'+');

xlabel('v/mv');

ylabel('x/mm'); %x、y轴表示

legend('实验数据','拟合曲线');

hold on

% 用红色绘制拟合出的直线

px=linspace(0,6,50);

py=a*px+b;

plot(px,py,'r');

运行结果:

a = 386.5502

b = -1.6418e+03

z = 0.0101

最近下载