matlab回归分析,感觉代码不可能有错呀,就是算不出来

cleary=[13876,11608,18701,11283,11767,20872,11772,10535,12195,12313,14975,21371,19800,11417,20263,13231,12884,13245,13677,15965,12366,21352,13839,22884,16978,14803,17404,22184,13548,14467,15942,23174,23780,25410,14861,16882,24170,15990,26330,17949,25685,27837,18838,17483,19207,19346]';x=[1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,7,8,8,8,8,10,10,10,10,11,11,12,12,13,13,14,15,16,16,16,17,20]';w=[1,0,1,0,0,1,0,0,0,0,1,1,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0]';u=[1,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,1,0,1,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,1]';k=[0,0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,0,0,0,1,1,0,1,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,1,1,0,1,0]';z=[ones(46,1),x,w,u,k];[b,bint,r,rint,stats]=regress(y,z);b,bint,r,rint,stats
它显示的错误是
Attempt to execute SCRIPT regress as a function:D:\Documents\资料\数学建模\练习\regress.m

你是把这段写在一个叫做regress.m的文件里面了吧
而你后面想调用matlab内置的函数regress
那么matlab就迷糊了,既然当前文件夹有一个叫regress.m的文件
那么当运行到[b,bint,r,rint,stats]=regress(y,z);的时候
调用函数regress的时候就还是找你写的regress.m,而不是系统的regress函数

把写着这些内容的m文件改个别的名字,不要和系统函数重名来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-21
cleary分开clear;y后执行无误
b =
1.0e+004 *
1.1033 0.0546 0.6883 -0.2994 0.0148
bint =
1.0e+004 *
1.0258 1.1807 0.0484 0.0608 0.6248 0.7517 -0.3826 -0.2162 -0.0636 0.0931
r =
1.0e+003 *
-1.5912 0.0291 0.2396 -0.4436 0.1881 1.7167 -0.5007 1.4042 0.0700 -0.5059 -1.5845 1.6696 0.2463 1.1939 0.1632 0.0138 -0.4810 -0.6661 -0.0864 -1.6867 1.0507 0.1600 -0.6182 1.5442 -1.7660 -0.7465 -1.8861 -0.1003 1.1404 0.9672 -0.6997 -0.2025 0.2557 1.3396 0.8150 -0.8520 -0.2988 0.8518 1.1673 -0.8773 -0.4222 1.0360 -1.0805 0.7064 -1.2576 0.3849
rint =
1.0e+003 *
-3.4553 0.2729 -1.9314 1.9897 -1.7433 2.2225 -2.4184 1.5312 -1.7715 2.1478 -0.1707 3.6042 -2.4876 1.4862 -0.5203 3.3287 -1.8984 2.0384 -2.5041 1.4924 -3.4748 0.3058 -0.2342 3.5735 -1.7504 2.2431 -0.7655 3.1533 -1.8384 2.1648 -1.9647 1.9922 -2.4893 1.5273 -2.6765 1.3443 -2.0666 1.8939 -3.5852 0.2117 -0.9294 3.0308 -1.8438 2.1637 -2.6357 1.3992 -0.3940 3.4825 -3.6660 0.1340 -2.7648 1.2718 -3.7757 0.0034 -2.0988 1.8982 -0.8391 3.1199 -1.0183 2.9526 -2.7173 1.3178 -2.1868 1.7817 -1.7457 2.2571 -0.6130 3.2922 -1.1727 2.8028 -2.8532 1.1492 -2.2602 1.6626 -1.1192 2.8227 -0.7822 3.1168 -2.8592 1.1047 -2.3333 1.4889 -0.8842 2.9561 -3.0257 0.8647 -1.2323 2.6451 -3.1755 0.6602 -1.4823 2.2521
stats =
1.0e+006 *
0.0000 0.0002 0 1.0571
第2个回答  2014-01-21
文件夹不能有中文,你随便放到一个磁盘根目录下试试吧,有其他错误再说。

为什么matlab回归分析代码有错误?
为什么matlab回归分析代码有错误?检查了给出的代码,其运行错误分析如下:1、regress格式书写错误regress是多元线性回归函数,函数要求X为线性方程的系数,则X=[ones(15,1) x1 x2];而不是X=[ones(15,1) x];2、给出的x是数组变量,是由x1、x2变量组成的,所以应从x中分离出x1和x2,即x1=x(...

matlab返回的stepwise回归分析结果如何分析?
从图片上看到,R-square=0,F=NaN,p=NaN。这说明你的数据回归分析是不成功的,可能你的数据正确性有偏差,也有可能你的数据偏少而不能与的回归方程相匹配,也有可能你的回归方程选择是错误的。因为没有具体看到你的数据和选定回归方程,所以不能确定是那个问题的原因。

MATLAB中出现报错:错误使用 horzcat串联的矩阵的维度不一致。
我的 MATLAB中出现报错:错误使用 horzcat串联的矩阵的维度不一致。 x=[01234567891013];y=[0.21210.11110.15150.11110.10100.03030.05050.04040.04040.03030.03030.0909];X=[ones(12,1),x];x0=(0:1:13);f=polyfit(x,y,2);f1=polyval(f,x0);plot(x,y,'-... x=[0 1 2 3 4 5 6 7 8 9 10 13]...

matlab回归分析数据 有什么建议,好像说数据会损失
书写的代码顺序混乱。因缺x4、x5、x6的数据,所以在执行 regress 函数命令时,就会出现警告 。正确的书写顺序应该为 x1=[。。。]x2=[。。。]x3=[。。。]x4=[。。。]x5=[。。。]x6=[。。。]y=[。。。]n=length(y);X=[ones(n,1),x1',x2',x3',x4',x5',x6'] %n为xi的长...

matlab非线性回归分析 指数函数 怎么就不行。。。代码如下 求指导...
sd=@(b,x) 1.\/(b(1)+b(2)*exp(-x)); % 改成 .\/ ___beta = 0.1291 17.2913

matlab中多元线性回归方程分析和拟合
以及残差曲线,如下图所示:第五步我们也可以将残差的置信区间上限,下限绘制出来,如下图所示:第六步运行脚本,我们可以看到多元线性回归的拟合效果,两条曲线已经比较接近了,如下图所示:第七步我们可以看到残差值都在置信区间上限,下限里面,代表回归模型正常,如下图所示:

matlab 画图 多元线性回归分析
其中,bint为回归系数的置信区间,r,rint为残差及其置信区间,stats为计算回归模型的统计量。所以,设房屋销售均价为Y,其余四个变量分别为X1,X2,X3,X4 则代码如下:clc clear x=[]; Y=[]; X=[ones(length(x),1),x]; [b,bint,r,rint,stats]=regress(Y,X,0.05)X,Y的数据你填进去就...

怎么用matlab计算回归系数?
如下图所示,一组数据共有50个变量,需要对此数据做一元线性回归分析y=b1+b2*x,若只想得出线性回归模型,而不做其他分析只需调用b=regress(y,X);程序代码如下:2.由回归结果得b=[44.2815,0.4199],即回归模型可以写为y=44.2815+0.4199*x,模型结果如图所示:3.若是想通过一些指标来验证模型...

如何用matlab线性回归分析
在matlab中regress()函数和polyfit()函数都可以进行回归分析。(1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。regress()函数详解 [b,bint,r,rint,stats]=regress(y,X,alpha)说明...

MATLAB中出现报错:错误使用 horzcat串联的矩阵的维度不一致。各位大佬求...
矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊...

相似回答