📄 submyline2.m
字号:
function [C,R,dA,dB,dC]=submyline2(x,y)
% [C,R,dA,dB,dC]=submyline2(x,y) 最小二乘法的直线拟合 f(x) = A + Bx
% 输入: -- x 1xN 的行向量
% -- y 1xN 的行向量 (x,y)是实验点数据
% 输出: -- C=A/B
% -- R 相关系数
% -- dA A的误差范围?
% -- dB B的误差范围?
% -- dC C的误差范围?
%袁怡圃 2003/04/24
xmean=mean(x);
ymean=mean(y);
sumx2=(x-xmean)*(x-xmean)';
sumxy=(x-xmean)*(y-ymean)';
sumy2=(y-ymean)*(y-ymean)';
B=sumxy/sumx2;
A=ymean-B*xmean;
C=A/B;
R=sumxy/sqrt(sumx2*sumy2);
N=length(x);
Q=0;
for i=1:N
Q=Q+(y(i)-A-B*x(i))^2;
end
S=sqrt(Q/(N-2));
dA=S*sqrt(1/N+xmean^2/sumx2);
dB=S*sqrt(1/sumx2);
dC=sqrt((sumx2-sumxy^2/sumy2)*(1/N+ymean^2/sumy2)/(N-2));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -