24小时热门版块排行榜    

查看: 2405  |  回复: 11

可爱水若寒

新虫 (初入文坛)

[求助] matlab 显示busy

从1-8之间取1-8随机取3*10^6,总长为1.64*10^7。程序如下
clear all
c=1;
L1=8; S=1.64*10^7;N1=3*10^6;
while c>0%c是统计产生的随机数里面大于L1的个数,c=0时退出循环.初始值设为1
a=[];
a(1)=round(S*rand(1));
if(a(1)==0)
a(1)=1;
end
a(2)=S-a(1);%先将1分裂为两个随机数
while length(a) m=length(a);
[tt,ss]=sort(-a);
i=ss(1);%选择a中最大值作为分裂位置
%a(i)分裂为a(i)=q*a(i)和a(i+1)=(1-q)*a(i)
a(i+2:m+1)=a(i+1:m);%后移
q=0.2*rand(1)+0.4;
temp=a(i);
a(i)=round(a(i)*q);
if(a(i)==0)
a(i)=1;
end
a(i+1)=temp-a(i);
end
c=sum(a>L1);
end
程序有问题吗  等两个小时都不行 怎样让它快点出结果
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xinzhxie

新虫 (小有名气)

程序还在跑,出错会给提示的
在循环里加点打印信息啊
2楼2012-07-13 12:25:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

可爱水若寒

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by xinzhxie at 2012-07-13 12:25:28
程序还在跑,出错会给提示的
在循环里加点打印信息啊

怎样加打印信息,我对matlab不太懂,帮忙弄一下,谢谢
3楼2012-07-13 15:01:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

klausbush

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai: 金币+1, 谢谢参与! 2012-07-13 22:33:09
matlab帮助文件中搜索print,这个是打印相关的。busy就是程序还在运行啦,等等就好
水中的虫子
4楼2012-07-13 20:04:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

www900805

新虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2012-07-13 22:33:19
如果有语法错误程序会自动终止

如果是循环终止条件设计有问题,那就要靠调试了

LS说的用打印就是一个好的调试方式
5楼2012-07-13 20:43:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

可爱水若寒

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by www900805 at 2012-07-13 20:43:40
如果有语法错误程序会自动终止

如果是循环终止条件设计有问题,那就要靠调试了

LS说的用打印就是一个好的调试方式

我取了简单的数 算过了 没问题,可以出结果的是不是数字太大了,可不可以改改程序中的语句让它快点出结果,等六个小时都不行。。。
6楼2012-07-13 20:52:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
臭水沟: 金币+1, 谢谢交流~~ 2012-07-14 21:47:46
可以从以下几点下手:
1.程序优化,例如,你可以先定义参数a的size,这样程序运行会快些;可以参考相关的资料尝试优化程序。
2.提升机器的配置,尽量不要使用笔记本做这种大的运算。
一次次萍水相逢
7楼2012-07-14 09:05:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

可爱水若寒

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by luomia at 2012-07-14 09:05:45
可以从以下几点下手:
1.程序优化,例如,你可以先定义参数a的size,这样程序运行会快些;可以参考相关的资料尝试优化程序。
2.提升机器的配置,尽量不要使用笔记本做这种大的运算。

我用的是笔记本,运行很长时间的,程序优化能说具体点吗 刚接触matlab 不太懂
8楼2012-07-14 09:34:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

引用回帖:
8楼: Originally posted by 可爱水若寒 at 2012-07-14 09:34:04
我用的是笔记本,运行很长时间的,程序优化能说具体点吗 刚接触matlab 不太懂...

你可以上网搜搜相关的内容,这方面主要还是多练习才能体会。给你个链接去看看,http://blog.csdn.net/aris_zzy/article/details/1511581
另外,你可以用tic toc等计时函数去验证优化的效果。
一次次萍水相逢
9楼2012-07-14 10:00:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

可爱水若寒

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by luomia at 2012-07-14 10:00:09
你可以上网搜搜相关的内容,这方面主要还是多练习才能体会。给你个链接去看看,http://blog.csdn.net/aris_zzy/article/details/1511581。
另外,你可以用tic toc等计时函数去验证优化的效果。...

谢谢
10楼2012-07-14 10:11:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 可爱水若寒 的主题更新
信息提示
请填处理意见