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

📄 linreg.m

📁 一个非常实用的统计工具箱
💻 M
字号:
function [b, Ib, e, s, Is] = linreg(y,x,C,sym,pmax)%LINREG   Linear or polynomial regression%%	  linreg(y,x)%         [b, Ib, e, s, Is] = linreg(y,x,C,sym,pmax)%%         The output  b  is the point estimate of the parametars %         in the model  y = b(1)*x + b(2) + error.%         The columns of  Ib  are the corresponding confidence %         intervals. The residuals are in  e. The standard deviation %	  of the residuals is  s.%%         A pointwise confidence band for the expected y-value is%         plotted, as well as a dashed line which indicates the%         prediction interval given x. The input  C  is the confidence%	  which is 0.95 by default. C = []  gives no plotting%         of confidence band or prediction band.%%	  Input sym is plotting symbol, with 'o' as default. For %	  polynomial regression give input  pmax  a desired value,  %	  the model is then  y = [x^pmax, ... x^2, x, 1] * b' + error.%%         See also LSFIT and LSSELECT.%       GPL Copyright (c) Anders Holtsberg, 1995, 1998if nargin < 3, C = 0.95; endif nargin < 4 | ~exist('sym'), sym = 'o'; endif isempty(sym), sym = 'o'; endif nargin < 5, pmax = 1; endy = y(:);  x = x(:);if length(x) ~= length(y)   error('Error in input format to linreg')endn = length(x);X = ones(n,pmax+1);for i = pmax:-1:1    X(:,i) = x .* X(:,i+1);end[b, Ib, e, s, Is] = lsfit(y,X,C);mn = 1.1*min(x)-0.1*max(x);mx = 1.1*max(x)-0.1*min(x);xx = linspace(mn,mx,50)';V = xx(:,ones(1,pmax+1));V = V .^ (ones(length(xx),1)*(pmax:-1:0));yy = V*b;h = ishold;plot(x,y,sym)hold onplot(xx,yy)if ~isempty(C)   R = chol(X'*X);   E = V/R;   t = qt(1-(1-C)/2, n-pmax);   d = sum((E.*E)')';   dd = t*s*sqrt(d);   ym = yy - dd;   yp = yy + dd;   dd1 = t*s*sqrt(1+d);   ym1 = yy - dd1;   yp1 = yy + dd1;   plot(xx,ym)   plot(xx,yp)   plot(xx,ym1,'--')   plot(xx,yp1,'--')endif ~h, hold off; end

⌨️ 快捷键说明

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