matlab多元非线性回归及显着性分析(实例)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab多元非线性回归及显著性分析

给各位高手:小弟有一些数据需要回归分析(非线性)及显著性检验(回归模型,次要项,误差及失拟项纯误差,F值和P值),求大侠帮助,给出程序,不胜感激。

模型:

DA TA=... %DA TA前三列是影响因子,第四列为响应值

[2 130 75 48.61;

2 110 75 56.43;

2 130 45 61.32;

2 110 45 65.28;

1 110 45 55.80;

1 130 75 45.65;

1 110 75 50.91;

1 130 45 67.94;

1.5 120 60 74.15;

1.5 120 60 71.28;

1.5 120 60 77.95;

1.5 120 60 74.16;

1.5 120 60 75.20;

1.5 120 85 35.65;

1.5 140 60 48.66;

1.5 120 30 74.10;

1.5 100 60 6

2.30;

0.5 120 60 66.00;

2.5 120 60 75.10];

回归分析过程:

(1)MATLAB编程步骤1:首先为非线性回归函数编程,程序存盘为user_function.m function y=user_function(beta,x)

b0 = beta(1);

b1 = beta(2);

b2 = beta(3);

b3 = beta(4);

x0 = x(:,1);

x1 = x(:,2);

x2 = x(:,3);

x3 = x(:,4);

y=b0*x0+b1*x1.^2+b2*x2.^2+b3*x3.^2;

(2)MATLAB编程步骤2:编写非线性回归主程序,程序运行时调用函数user_function

x=[1 2 130 75 48.61;

1 2 110 75 56.43;

1 2 130 45 61.32;

1 2 110 45 65.28;

1 1 110 45 55.80;

1 1 130 75 45.65;

1 1 110 75 50.91;

1 1 130 45 67.94;

1 1.5 120 60 74.15;

1 1.5 120 60 71.28;

1 1.5 120 60 77.95;

1 1.5 120 60 74.16;

1 1.5 120 60 75.20;

1 1.5 120 85 35.65;

1 1.5 140 60 48.66;

1 1.5 120 30 74.10;

1 1.5 100 60 62.30;

1 0.5 120 60 66.00;

1 2.5 120 60 75.10]; %%第1列全是1,第6列是指标变量,其余列是自变量xx=x(:,1:5);yy=x(:,5); %%指定响应变量yy和自变量xx

beta0=[0.5 0.4 0.7 0.5]; %%设置初始回归系数(如何确定初值?)

[beta_fit,residual] = nlinfit(xx,yy,@user_function,beta0) %%非线性回归

结果

beta_fit =

91.3757

1.2712

-0.0009

-0.0049

residual =

-4.2935

-1.0248

-9.2044

-9.7957

-15.4620

-3.4398

-2.7311

1.2293

11.1889

8.3189

14.9889

11.1989

12.2389

-9.5678

-9.3704

-2.0767

-4.8331

5.5814

7.0540

y=.3757+1.2712*x1.^2-0.0009*x2.^2-0.0049*x3.^2;

matlab中nlinfit函数非线性拟合的使用方法如下:例1

相关文档
最新文档