① MATLAB 程序运行特别慢,求大神解决!!!!!!!!!
程序中用for循环比矩阵算法慢得多,特别是循环次数多时,更是慢得出奇。可改为矩阵运算。
② 为什么我的Matlab程序这么慢
装WIN7的64位旗舰版的操作系统最适合,玩游戏兼容性能好,会更加流畅,运行程序软件都非常稳定。
电脑配置符合双核以上的CPU(只要满足双核心即可)和至少4GB或者4GB以上的内存的要求,强烈建议楼主选装Win7-64位旗舰版的系统!}
电脑系统没有完全崩溃可以用【【【硬盘安装系统的方法】】】来装WIN7的操作系统,无需借助光盘或者u盘,简单快速。电脑硬盘安装系统的方法如下:
1.可以到WIN7旗舰版基地 去下载最新的并且免费激活的WIN7的64位旗舰版操作系统。
2. 将下载的WIN7的64位系统解压到D盘,千万不要解压到C盘。
3. 打开解压后的文件夹,双击“硬盘安装器”,在打开的窗口中,点击“安装”.即可
4.在出现的窗口中,ghost映像文件路径会自动加入,选择需要还原到的分区,默认是C盘,点击“确定”按钮即可自动安装。
③ 我编了一个matlab函数,感觉速度很慢,不知道有没有提升速度的办法,希望各位大神指点。贡献小弟所有金币
1. 这个慢的根本原因是因为你用了matlab符号计算~可以把函数f1和f11里的第一句话syms A s dt;先注释掉,试试看,这样速度肯定会变快很多~就是不知道能否满足你的计算精度要求~
2. 另外你的m和n是不变的系数向量,你没必要把他们写在函数里面,因为这样每次调用函数都得赋值一遍~你可以把m和n的定义写在主函数里面,然后传递给函数f1和f11,这样m和n就都只定义了一遍~应该也是会有所帮助的~
另外如1楼所说的,你不要一个一个元素给向量赋值,可以一起写~这个形式上会比较好,对速度提升帮助应该不是很大~
总结来讲,慢的主要因素是因为第一条,但是如果你一定要用符号计算来达到很高的精度的话那这条就没办法改了~第二条是肯定可以改的,而且必然会有一定的帮助(不一定很大,因为主要因素是第一点)~
④ 为什么matlab仿真模型运行速度慢
这是因为你的模型中使用了中文,把中文去掉吧,就没有问题了!
⑤ 为什么我用matlab编得程序运行得那么慢,就是几个循环而已。
因为你的句子后面没加分号,matlab会把结果打印到command window里。这个非常费时间。
test(p,q)=ab(uu,vv)
或者
test((p-1)*16+uu,(q-1)*16+vv)=ab(uu,vv)
后面加上分号再运行就快了。
⑥ matlab循环很慢是因为每次都要编译循环体写成函数会不会快
matlab循环慢是因为本身运算速度没C快 语言本身决定的 循环一般写成矩阵或者向量的运算会快一些
⑦ MATLAB 编译后的GUI 打开慢的解决办法
这个目前没有好点的解决办法,一般可以将代码做编译,然后在C++下做界面调用M程序。
⑧ matlab 程序运行很慢,怎么改进
提高matlab程序运行速度,可以用以下方法:
1、更改MATLAB启动快捷方式
在缺省配置下,MATLAB有一个启动闪屏,去掉它可以节省一定的内存消耗,从而加快启动。
在MATIJAB启动快捷方式后添加命令行参数 一nos-plash”即可_去掉闪屏。
缺省配置 MATLAB会启动虚拟机,这会消耗大量内存。添加命令行参数"-nojvm”可禁用JAVA虚拟机。
MATLAB启动快捷方式命令形如:
"%MATLABROOT%\bin\win32\matlab.exe -nosplash -nojvm”。
经过以上配置,MATLAB启动和运行速度会得到大幅提升。
注意:禁用JAVA虚拟机后,MATLAB中有些功能,诸如:调试功能、可视化界面设计功能不能使用,但大多数其它功能可正常运行。如果使用的功能需要JAVA虚拟机支持,启动时将命令行参数 一nojvm 去掉即可。
2、更改MATLAB搜索路径
MATLAB启动时会添加搜索路径。如果安装了多个工具箱,搜索路径会很多。过多的搜索路径除了减缓启动速度外,还会影响MATLAB执行效率。因为MATLB执行程序时会在这些路径中寻找M文件。而实际上我们不会为完成某个任务使用所有的工具箱。为提高启动和运行速度,可以修改pathdef.m文件,将暂时不用的工具箱和其它搜索路径注释掉(MATLAB程序以%为注释标识),从而加快启动和运行。
⑨ matlab程序运行太慢,请大神帮看看,如何优化加快运算速度!
建议:取消syms,用数值积分方法先计算积分号里面的东西,而不要用符号积分算法。将下面这段:
symsz
w1=mt*t0/(4*pi*M*ne*(DL*DT)^0.5);
w2=exp(x.*u/(2*DL));
B=((u*x./(2*DL)).^2+(u*y).^2/(4*DL*DT)).^0.5;
w3=2*besselk(0,B);
w5=int((1/z)*exp(-z-(B.^2/(z*4))),t*u^2/(4*DL),inf);
w4=double(w5);
替换为
w1=mt*t0/(4*pi*M*ne*(DL*DT)^0.5);
w2=exp(x.*u/(2*DL));
B=((u*x./(2*DL)).^2+(u*y).^2/(4*DL*DT)).^0.5;
w3=2*besselk(0,B);
ifun=@(z,B)(1./z).*exp(-z-(B.^2./(z*4)));
w5=integral(@(z)ifun(z,B),t*u^2/(4*DL),inf);
w4=w5;