matlab差商chaS,线性最小二乘法拟合

%

% V = [x.^7 x.^6 x.^5 x.^4 x.^3 x.^2 x ones(size(x))];

if ~isequal(size(x),size(y))

error('MATLAB:polyfit:XYSizeMismatch',...

'X and Y vectors must be the same size.')

end

x = x(:);

y = y(:);

if nargout > 2

mu = [mean(x); std(x)];

x = (x - mu(1))/mu(2);

end

% Construct Vandermonde matrix.

V(:,n+1) = ones(length(x),1,class(x));

for j = n:-1:1

V(:,j) = x.*V(:,j+1);

end

% Solve least squares problem.

[Q,R] = qr(V,0);

ws = warning('off','all');

p = R\(Q'*y); % Same as p = V\y;

warning(ws);

if size(R,2) > size(R,1)

warning('MATLAB:polyfit:PolyNotUnique', ...

'Polynomial is not unique; degree >= number of data points.') elseif condest(R) > 1.0e10

if nargout > 2

warning('MATLAB:polyfit:RepeatedPoints', ...

'Polynomial is badly conditioned. Remove repeated data points.')

else

warning('MATLAB:polyfit:RepeatedPointsOrRescale', ...

['Polynomial is badly conditioned. Remove repeated data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值