⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myline.m

📁 直线拟合与多项式拟合 涉及:《数值计算》等相关课程的基础内容 共两个例子
💻 M
字号:
function [P,newxy] = myline(x,y)

% 调用形式:
%       [P]=myline(x,y)
% 功能:
%       考虑到坏点的剔除的最小二乘法的直线拟合 f(x) = A + Bx
%       其中:调用子程序submyline1, submyline2
% 输入:
%        -- x    行向量,实验点数据横坐标
%        -- y    行向量,实验点数据纵坐标
% 输出:
%        -- P    行向量,依次代表:A,B,C,S,R,dA,dB,dC
% 袁怡圃 2003/04/24

a=x;
b=y;
[A,B,S]=submyline1(a,b);

N=length(x);
for j=1:N
    k=1; 
    for i=1:N
        if abs(y(i)-A-B*x(i))<2*S
            u(k)=x(i);
            v(k)=y(i);
            k=k+1;
        end
    end
    u=u(1:k-1);
    v=v(1:k-1);
    [A,B,S]=submyline1(u,v);
    x=u;
    y=v;
    N=length(x);
end 
newxy(1,:) = u;
newxy(2,:) = v;
% xmin=min(a);
% xmax=max(a);
% x=xmin:0.01:xmax;
% y=B*x+A;
% plot(a,b,'*r',u,v,'.g',x,y,'b');
% disp('A B C S R dA dB dC分别为:')
[C,R,dA,dB,dC]=submyline2(u,v);
P=[A B C S R dA dB dC];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -