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

📄 lspoly.m

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

% 调用形式:
%        [M,C]=lspoly(X,Y,e)
% 功能:
%       用最小二乘法多项式拟合非线性数据
% 输入:
%       -- X   行向量,包含拟合数据点的横坐标
%       -- Y   行向量,包含拟合数据点的纵坐标
%       -- e    标量,误差精度
% 输出:
%     -- M  标量,多项式的阶数
%      --C  列向量,从低阶到高阶排列多项式的系数
%       其中调用子函数:[C,F]=sublspoly(X,Y,M)
% 袁怡圃 2003/04/28

n=length(X); 
Y=Y';
M=1;
de_error = 0;
while M<10
    [C,F]=sublspoly(X,Y,M);
    P=F*C;
    k=M;
    for i=1:n
        if abs((P(i)-Y(i))/P(i))>e
            M=M+1;
            break
        end
    end
    if k==M
        break
        de_error = 1;
    end
end
% min=min(X);
% max=max(X);
% u=min:0.01:max;
% n=length(u);
% f=zeros(n,M+1);
% for i=1:M+1
%     f(:,i)=u'.^(i-1);
% end
% p=f*C;
% plot(X,Y','*b',u,p,'r')

⌨️ 快捷键说明

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