matlab循环一亿次好象很慢啊

我用matlab编写了一段程序,要求循环一亿次,每次循环中用两个随机数.
但是循环时间好长啊,一个多小时还没有结束.请问是怎么回事啊??

matlab运行时间真的很慢吗??
这个程序每次循环有有20行,每次循环中用两个随机数,
我如果用vb编写,循环一亿次要多长时间呢??

第1个回答  2008-05-16
matlab是解释性语言,装载一次,执行一次,当然慢了。不像c语言,一次性装在,一次执行。
建议更改代码,比如说用矩阵运算等
vb也是解释性语言。。。
第2个回答  2008-05-16
跟你的CPU运算频率有关啊,3.0GHZ算都很慢的

matlab循环一亿次当然很慢了

我都经常运算一天一夜的本回答被提问者采纳
第3个回答  2008-05-20
1. you may want to use function tic()/toc() to see how much time your program is needed for one step. Then you can estimate how long will the loop take. To obtain accurate result, you may use the time of 100 steps as benchmark. If the amount of time is acceptable, you just let it run.

2. you should try to optimize your code when you want it to run fast. The way in matlab is basically called vectorization. If the calculation in any step does *not* solely depend on the results of previous steps, the amount of run time could be dramatically reduced after vectorization.

3. other tips for speeding up your code include: allocate memory for storing results in each step before the loop begins; prevent outputting texts/figures in the middle of the loop; etc.
第4个回答  2008-05-16
你有没有在每句后面加分号

matlab循环一亿次好象很慢啊
matlab是解释性语言,装载一次,执行一次,当然慢了。不像c语言,一次性装在,一次执行。建议更改代码,比如说用矩阵运算等 vb也是解释性语言。。。

Matlab程序运行很慢,什么原因??
有几个可能的原因导致这种情况发生:内存不足:如果你的计算机内存不足,当Matlab程序需要大量内存时,它可能会运行缓慢或崩溃,并提示内存不足的错误。这时可以尝试减少需要占用内存的操作,或者增加计算机的内存容量。处理器资源不足:如果你的计算机处理器资源不足,当Matlab程序需要大量的处理器资源时,它...

为什么我用matlab编得程序运行得那么慢,就是几个循环而已。
因为你的句子后面没加分号,matlab会把结果打印到command window里。这个非常费时间。test(p,q)=ab(uu,vv)或者 test((p-1)*16+uu,(q-1)*16+vv)=ab(uu,vv)后面加上分号再运行就快了。

matlab处理循环特别慢的问题
与电脑有关的,高配置的电脑当然运行快,但是应该从程序本身解决问题,你说用了两个for循环就这样,应该是循环内部代码的问题或者是循环处理的数据太大,建议修改程序

matlab处理for循环特别慢 怎样处理
matlab尽管本身具有处理循环的能力,但是它的内部机制对于循环的支持并不好,执行速度会比较慢。要解决这个问题,解决方法有:1、采用向量方式对数据进行处理。2、采用C语言与Matlab的混合编程。

matlab 程序运行很慢,怎么改进?
缺省配置 MATLAB会启动虚拟机,这会消耗大量内存。添加命令行参数"-nojvm”可禁用JAVA虚拟机。MATLAB启动快捷方式命令形如:"%MATLABROOT%\bin\win32\\matlab.exe -nosplash -nojvm”。经过以上配置,MATLAB启动和运行速度会得到大幅提升。注意:禁用JAVA虚拟机后,MATLAB中有些功能,诸如:调试功能、...

matlab处理for循环特别慢 怎样处理
楼下说的都对 另外看一下for的内容,是不是有每次循环过程中,有矩阵不断的扩大的情况,比如 for i=1:1:10 a=[a,i]end 如果是这样,可以先把扩大的矩阵按照最后需要的大小先声明出来,这样就不用每个循环时再重新声明一下,这样效率大大提高。

matlab中for循环为什么会慢
这个问题往深了说可能会很复杂,我这里简单说说我的理解吧。我们一般说的或者建议大家的都是说尽量在matlab里面避免用for因为它慢,但其实更准确地说是它不慢而是矩阵运算更快。因为matlab优化了它的矩阵和向量运算,所以相对for来说,如果能将for化为矩阵运算就能充分利用matlab为我们做的优化,所以从这个...

我编了一个matlab函数,感觉速度很慢,不知道有没有提升速度的办法,希 ...
1. 这个慢的根本原因是因为你用了matlab符号计算~可以把函数f1和f11里的第一句话syms A s dt;先注释掉,试试看,这样速度肯定会变快很多~就是不知道能否满足你的计算精度要求~2. 另外你的m和n是不变的系数向量,你没必要把他们写在函数里面,因为这样每次调用函数都得赋值一遍~你可以把m和n...

如何提高MATLAB的运算速度
对运算速度的提高很明显,这点你可以用MATLAB自带的tic和toc命令测试。3、对于多重循环的将长的循环放在内循百环。还有对有相似功能的命令的选择也对速度有影响。如果对于计算量特别大的程序,用MATLAB是不怎么合适的,可以把计算部分用其他语言,比如FORTRAN来实现。

相似回答