全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
936 2
2014-03-17
编程的时候遇到这种问题怎么解决啊
Error using ==> diag
Out of memory. Type HELP MEMORY for your options.
这是我编的负二项的COOK距离程序:

data;

x1=ones(27326,1); x2=data(:,2);x3=data(:,3);x4=data(:,4);

y=data(:,1); x= [x1,x2,x3,x4];[n,d]=size(x);

a=1.936348; b=[0.9132608,0.0204292, -0.4768144,-0.0459575]';

   u=exp(x*b);

laa=sum(a^(-4).*(psi(1,y+1/a)-psi(1,1/a))+2/a^3.*(psi(y+1/a)-psi(1/a)-log(a.*u+1))+(3*a*u.^2+2*u-y-2*a*y.*u)./(a+a^2)^2);

lab= x'*((u.^2-u.*y)./(1+a*u).^2);

lbb=x'*diag((-u-a*u.*y)./(1+a.*u).^2)*x;

I1=[lbb lab;lab' laa];

GD=[];

for i=1: 27326

xx= [x1(i),x2(i),x3(i),x4(i)];

la=1/a^2*(psi(1/a)-psi(y(i)+1/a)+log(1+a*u(i)))+(y(i)-u(i)) /(a+a^2*u(i));

lb=((y(i)-u(i))/(1+a*u(i))).*xx';

GD(i)=[lb;la]'*inv(-I1)*[lb;la];

GDa(i)=la*inv(laa)*la;

GDb(i)=lb'*inv(-lbb)*lb;

end
plot(GD)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-3-17 12:50:21
计算量太大,内存不够用了,程序需要优化
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-16 17:14:00
Matlab内存溢出错误 Out of memory
??? Error using ==>diag
Out of memory. Type HELP MEMORY for your options.
注意:出现这个错误提示,因为矩阵太大,导致的这种错误,和语法和逻辑是没有关系的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群