Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-02
年龄: 38
帖子: 3
声望力: 0 ![]() |
![]()
z=[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95];
Y=[1132.62,1146.38,1159.93,1175.79,1212.33,... 1866.95,1642.86,2004.82,2122.01,2199.35,2357.24,... 2664.90,2937.10,3149.48,3483.37,4348.95,5218.10,6242.20]'; X=[3624.10 519.280 40.9900 4015.00; 4038.20 537.820 113.530 40581.0; 4517.80 571.700 152.990 42361.0; 4860.30 629.890 192.220 43280.0; 5301.80 700.020 215.840 44706.0; 5957.10 755.590 257.840 46004.0; 7206.70 947.350 296.290 47597.0; 8989.10 2040.79 280.510 79873.0; 10201.4 2090.73 156.950 51282.0; 11954.5 2140.36 212.380 52783.0; 14922.3 2390.47 176.180 54334.0; 16917.8 2727.40 179.410 55329.0; 18598.4 2821.87 299.530 56740.0; 21662.5 2990.17 240.100 58360.0; 26651.9 3296.91 265.150 59482.0; 34650.5 4255.3 191.04 60220; 46532.9 5126.88 280.18 61470; 57277.3 6038.04 369.19 62388]; X=[ones(18,1) X]; [C,bint,r,rint,stats]=regress(Y,X,0.05); y1=767.774+0.0542618*X1+0.367994*X2+1.10127*X3-0.00365175*X4; plot(Y,z,'.',y1,z,'--'); 这是求出4个参数的回归系数后想和原来的数据进行一下对比 然后画图 不过不知道朗格办了 上面程序不对 望大侠给指点一下哈 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21 ![]() |
![]()
该y只与x1, x2有关,与其它x无关,清运行下列以小程序:
clear,clc x1=[3624.1, 4038.2, 4517.8, 4860.3, 5301.8, 5957.1, 7206.7, 8989.1, 10201.4, 11954.5, 14922.3, 16917.8, 18598.4, 21662.5, 26651.9, 34650.5, 46532.9, 57277.3]'; x2=[519.28, 537.82, 571.7, 629.89, 700.02, 755.59, 947.35, 2040.79, 2090.73, 2140.36, 2390.47, 2727.4, 2821.87, 2990.17, 3296.91, 4255.3, 5126.88, 6038.04]'; y=[1132.62, 1146.38, 1159.93, 1175.79, 1212.33, 1866.95, 1642.86, 2004.82, 2122.01, 2199.35, 2357.24, 2664.9, 2937.1, 3149.48, 3483.37, 4348.95, 5218.1, 6242.2]'; n=size(y,1); X=[ones(n,1),x1,x2]; str=num2str([1:n]');ry=range(y); b=X\y fx=@(b,x1,x2)b(1)+b(2)*x1+b(3)*x2; figure(1) clf plot3(x1,x2,y,'o') stem3(x1,x2,y,'filled') text(x1,x2,y+ry/50,str,'fontsize',14) hold on [x11,x22]=meshgrid(min(x1):range(x2)/80:max(x1),min(x2):range(x2)/80:max(x2)); y1=fx(b,x11,x22); surf(x11,x22,y1); shading interp alpha(.8) axis tight |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-04-02
年龄: 38
帖子: 3
声望力: 0 ![]() |
![]()
非常感谢你能 帮忙 但我还有几个问题 程序运行时有错误,另外你写的这个我好多都没见过 能不能加上注释啊 另外有一个问题就是 上面是用到了4个参数 你怎么说只用x1和x2 呢?
|
![]() |
![]() |
![]() |
#4 |
高级会员
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21 ![]() |
![]()
1)低版本时,fx=@(b,x1,x2)......这一句可能不能运行,这意为临时函数,在低版本时应改成用自定义函数(永久函数)定义。
2)x3,x4对目标函数y没有作用,理应在方程中剔除。 3)有关注释的问题,你可以暂时去除(在行前加%),看看它有什么效果。 |
![]() |
![]() |