程序引自杂志《实验室研究与探索》2005年12月的“Matlab 在验证PN
结伏安特性实验中的应用”,作者冯颖。
作者解决了我们这些对曲线拟合与回归不了解或者已经遗忘的人的痛苦,但是里面有N处错误,乘幂回归的公式有错,程序中的错误更是不用说了。可能是作者为了保护自己的成果吧,:(
现在修正了其中的错误,并且选取玻尔兹曼常数测定实验的数据处理为例进行了改进。将函数计算和显示融入了一个文件,并改进了显示,供大家交流。程序如下:
u=[-0.352 0.223 ; -0.362 0.336 ; -0.372 0.500 ; -0.382 0.746 ;
-0.392 1.112 ; -0.402 1.657 ; -0.412 2.372 ; -0.422 3.532 ; -0.432
5.256 ; -0.442 7.812];
u1=-u(:,1);
u2=u(:,2);
N=length(u1);
a=(N*sum(u1.*u2)-sum(u1)*sum(u2))/(N*sum(u1.^2)-sum(u1)^2)
b=(sum(u1.^2)*sum(u2)-sum(u1)*sum(u1.*u2))/(N*sum(u1.^2)-sum(u1)^2)
c=u2-(a*u1+b);%c表示线性的U2
q=sqrt(sum(c.^2)/N)%q表示线性的标准差
w1=log(u1);
w2=log(u2);
a1=exp((sum(w1.^2)*sum(w2)-sum(w1)*sum(w1.*w2))/(N*sum(w1.^2)-sum(w1)^2))
b1=(N*