查看: 2005|回复: 5
|
matlab 的问题~换processor有用吗?
[复制链接]
|
|
如题,我的code 需要跑很长的integration of log(x^2)*(x^7+x^6+......).每次run program 的时候都run 不完,跑了半个小时还在跑,逼得我用task manager 来shut down, 这让我和懊恼。
我用的是intel core duo 的 processor,想问一下换好一点的processor 有没有用?像i7 之类的。。 |
|
|
|
|
|
|
|
发表于 28-5-2010 11:14 PM
|
显示全部楼层
回复 1# 本弘
换processor会帮助。 你的ram够不够?
如果你用core duo还是这样慢。我相信换最新的processor应该帮助不了多少。
从code oppimization下手看看。
可以看看你的code? |
|
|
|
|
|
|
|

楼主 |
发表于 28-5-2010 11:26 PM
|
显示全部楼层
syms x k alpha
y=1;
fx=1/pi.^2/y.^(2./alpha).*2.^(alpha.*k).*(-1).^(k-1)./sym('k!').*(gamma(alpha.*k./2+1)).^2.*(sin(k.*alpha.*pi./2)).*(x./y.^(1./alpha)).^(-alpha.*k-2);
for N=1:8
fx_sum_1(N)= symsum(fx,k,1,N);
end
for N=1:8
fx_sum_subs_1= subs(fx_sum_1,{alpha},{1.1});% take the last term N.
end
fx_sum_subs_1(8);% use this term
rho=log(k.^2+x.^2);
rho_my=diff(rho,x);
fx_2=-0.0093*x^7+0.0745*x^6-0.2280*x^5+0.3000*x^4-0.0562*x^3-0.2156*x^2-0.0017*x+0.3072;
variance_my_3=(int(((rho_my.^2).*(fx_2)),x,0,2.2)+int(((rho_my.^2).*(fx_sum_subs_1(8))),x,2.2,inf))./((int(((diff(rho_my,x)).*fx_2),x,0,2.2)+(int(((diff(rho_my,x)).*fx_sum_subs_1(8)),x,2.2,inf))).^2);
|
|
|
|
|
|
|
|

楼主 |
发表于 28-5-2010 11:28 PM
|
显示全部楼层
回复 3# 本弘
这是code.因为用到 integration 的inf。所以很慢。。 |
|
|
|
|
|
|
|

楼主 |
发表于 28-5-2010 11:29 PM
|
显示全部楼层
回复 2# fritlizt
用的是symbolic integration...这是code |
|
|
|
|
|
|
|
发表于 29-5-2010 08:03 AM
|
显示全部楼层
本帖最后由 sushi-x 于 29-5-2010 08:05 AM 编辑
matlab 本身不是 parallel processor application,就算你用i7也是一樣的。解決方法是用 Parallel Computing Toolbox
在code中間放disp之類的,讓你知道code跑到那裡了。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|