突然缓慢的MATLAB代码相同,相同的电脑

8视图(30天)
Woody247
Woody247 2015年3月16日
评论道: dpb 2015年3月17日
我现在有一个问题,这段代码运行缓慢,运行时迅速。
的代码是:
%函数(分数)=位置(g,剧院,步骤,GTotal、PopNum ThNum)
%代码绘制马克斯机器人正通过几个步骤
%每个策略对于每个生产的剧院,一个总分
%输出。
抽搐
%最后编辑:04/03/2015皮特·伍德沃德
清晰的所有;关闭所有
g = 1;
PopNum = 200;人口% #的基因,甚至保持
ThNum = 100;%的剧院来生成
GenNum = 100;
步骤= 200;
负载(“Theatre0_100_10x_10y.mat”)
负载(“GT200.mat”)
GTotal (1::) = GT1;
分数= 0 ([PopNum ThNum]);%初始化数组得分
%为每个基因的人群中
s = 1: PopNum,
%为每个剧院
t = 1: ThNum,
%建立一个动态的剧院,可以修改和disguarded
DynThea =剧院(t):,);
初始化位置变化百分比(1,1)在剧院,与墙(2,2)
Loc = (2 - 2);
%的200步执行每种策略(GTotal)
j = 1:步骤,
%获得下一步地区——检查剧院值基础
% 3值地区,转换为指数在10为底
% GTotal(:,:,印第安纳州)
%基因由[N S E W C]
% N = DynThea (Loc(1)代码行(2)1)* 81;%北地区
% S = DynThea (Loc(1)代码行(2)+ 1)* 27个;%南部地区
% E = DynThea (Loc(1) + 1,代码行(2))* 9;%东部地区
% W = DynThea (Loc (1) 1、Loc (2)) * 3;%西部地区
% C = DynThea (Loc(1)代码行(2))* 1;%当前语言环境
% LocaleB10 = N + S + E + W + C + 1;以10为底的%十进制的地区
%以上行组合到一行加速每个调用的
%的位置。m×4秒左右(从11秒)
一步= GTotal (g s (DynThea (1 Loc(1)代码行(2)1)* 81)+
(DynThea (1, Loc(1)代码行(2)+ 1)* 27)+
(DynThea (1, Loc(1) + 1,代码行(2))* 9)+
(DynThea (1, Loc (1) 1, Loc (2)) * 3) +
(DynThea (1, Loc(1)代码行(2))* 1)+ 1));
%检查随机首先,一步如果发生随机变化
如果一步= = 6
适当的随机方向变化百分比或者捡垃圾
一步=地板(5 *兰德)+ 1;
结束
%检查其他值或随机方向
如果一步= = 1
代码行(2)= Loc (2) - 1;%北
%检查墙
如果DynThea (Loc(1)代码行(2))= = 2
分数(s, t) =分数(s, t) - 5;%碰壁
代码行(2)= Loc (2) + 1;
结束
elseif步骤= = 2
代码行(2)= Loc (2) + 1;%南
%检查墙
如果DynThea (Loc(1)代码行(2))= = 2
分数(s, t) =分数(s, t) - 5;%碰壁
%检查如果是第一乐章
代码行(2)= Loc (2) - 1;
结束
elseif一步= = 3
代码行(1)= Loc (1) + 1;%东
%检查墙
如果DynThea (Loc(1)代码行(2))= = 2
分数(s, t) =分数(s, t) - 5;%碰壁
%检查如果是第一乐章
代码行(1)= Loc (1) - 1;
结束
elseif= = 4步
代码行(1)= Loc (1) - 1;%西
%检查墙
如果DynThea (Loc(1)代码行(2))= = 2
分数(s, t) =分数(s, t) - 5;%碰壁
%检查如果是第一乐章
代码行(1)= Loc (1) + 1;
结束
elseif= = 5步
如果DynThea (Loc(1)代码行(2))= = 0
% 1分没有垃圾
分数(s, t) =分数(s, t) - 1;
其他的
%一定是垃圾
分数(s, t) =分数(s, t) + 10;
DynThea (Loc(1)代码行(2))= 0;%去除垃圾
结束
结束
结束
结束
结束
toc
这个在我的电脑使用抽搐toc在0.5秒左右。直到我取消另一个程序使用神经网络工具箱(使用ctrl + C)
之后,我的代码使用抽搐Toc现在需要14.8秒。
我有尝试重新安装MATLAB 2014 b,但这并没有奏效。我在试我的学生,但它也运行缓慢的副本2014 a。
电脑规格在一种诊断工具。三种。
大学计算机上的代码运行好所以它并不是一个代码的问题。
任何建议表示赞赏。
7评论
dpb
dpb 2015年3月17日
“…在我的机器上没有堵塞CPU或内存。”
的东西 必须或症状不会描述。
也许你不是真的比较你以为你是什么?可能数据特有的问题或者由于一些编辑/ m文件的修改版本变化,等等,…? ? ?

登录置评。

答案(0)

类别

找到更多的在并行计算工具箱帮助中心文件交换

世界杯预选赛小组名单社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!世界杯预选赛小组名单

开始狩猎!

Baidu
map