
matlab是一种解释性语言,从运行效率来说肯定远不如其他基本语言。但还是有些方法可以提高运行速度的:
1,matlab擅长于矩阵运算,但并不适用于循环,能不用循环的地方尽量用矩阵运算代替;
2,对于大维度的矩阵,要预先确定它的维度,比如用zeros(a,b,c)预先定义好,这样每次给矩阵赋值的时候就不用改变维度了,对运算速度的提高很明显,这点你可以用matlab自带的tic和toc命令测试。
3对于多重循环的将长的循环放在内循环。还有对有相似功能的命令的选择也对速度有影响。
如果对于计算量特别大的程序,用matlab是不怎么合适的哦,你可以把计算部分用其他语言,比如fortran来实现。
首先,我运行了你的程序,你的程序subs函数处无法运行
大概看了下你的代码,计算不出结果,有一个可能,迭代没收敛,一直在循环中
最后,一点建议,对于计算函数在某点的导数不一定只用符号求导,可以用有限差分法里的高精度离散求导逼近,速度会快很多
您好,AMD处理器运行Matlab的速度取决于处理器的类型和性能。AMD处理器的性能一般要比Intel处理器差一些,因此AMD处理器运行Matlab的速度会比Intel处理器慢一些。但是,如果您使用的是AMD的高端处理器,它的性能也可以与Intel处理器相媲美,因此AMD处理器运行Matlab的速度也可以与Intel处理器相当。
首先介绍一下我自己使用的有效方法,一般matlab启动初始化很慢主要的原因是在找注册文件,一般是由于安装了MAC类的软件引起的,所以我按照下文提供的方法“在目标中,键入如下内容”$MATLAB\bin\win32\MATLABexe” -c “<Full Path to the MATLAB license file including file name>””,我在快捷方式里面目标路径中键入:"C:\Program Files\MATLAB\R2009b\bin\win32\MATLABexe" -c "C:\Program Files\MATLAB\R2009b\bin\win32\lic_standalonedat",即解决了这个问题,感谢网友无私的分享精神。注意上面路径中lic_standalonedat是自己的许可文件,换换就可以了!
Matlab随着版本的升级体积越来越大,带来的问题就是启动速度也越来越慢,下面就我注意到的几个影响MATLAB启动速度的问题集中和大家分析下解决办法。
一、preferences方面原因
问题产生原因:
大家都知道,preferences参数很多,如果首选参数设置的不得当,或者文件太大,Matlab启动的时候加载preferences设置就需要较长时间
问题解决方法:
以管理员权限登录,以保证自己有查看隐藏文件的权限。
windows
(1)退出Matlab,一定要确保Matlab不再运行
(2)进入c:\Documents and Settings\ <your username>\Application Data\MathWorks\MATLAB\ 复制代码真实该路径可以在Matlab中键入prefdir得到
(3)将上述路径中,以Matlab版本号为文件名(比如R2009a)的文件夹,重命名为R2009a_old(其实这一步是在备份preferences文件)
(4)重启Matlab,此时predir下会重新创建一个R2009a文件夹,里面包含了所有的preferences设置,只是属性值都是默认的,当然以前对Matlab的设置全部没有了
(5)如果觉得不满意,那么将新生成的R2009a删除,将R2009a_old重新改为R2009a就可以恢复以前的设置了。
Linux, Unix, or Mac
1) Quit MATLAB Ensure that MATLAB is no longer running
2) Rename the “matlab/” directory in the users home directory, to “matlab_old/”
3) Restart MATLAB
二、License方面原因
问题产生原因:
每次Matlab启动的时候会自动搜索Matlab的License文件,而计算机系统变量LM_LICENSE_FILE,则是用来告诉所有的应用程序从哪里找到对应的License文件
另外系统变量LM_LICENSE_FILE也可能导致初始化很慢,但是该变量只对Matlab负责,LM_LICENSE_FILE是对所有的程序负责
但是假如你的Matlab使用的是网络版的License,你计算机没有联网就会导致无法找到network license
解决方法:
方法一
windows
(1)右击我的电脑选择属性
(2)在高级选项卡中,点击环境变量
(3)在下面的系统变量找到LM_LICENSE_FILE,如果没有,点击新建创建一个变量名为LM_LICENSE_FILE的变量
(4)将LM_LICENSE_FILE的属性值设置为Maltab的License文件的绝对路径
(5)重启Matlab
Unix,Linux,or Mac
Check to see if there is an environment variable set Where this is located depends on the shell you are using Look in your home folder This file may be called: cshrc (c-shell), profile (bash), or bashrc (bash)
You can also create an environment variable for that shell session from the command line using export or setenv (depending on your shell), but the above file needs to be edited for a permanent change
For example:export MLM_LICENSE_FILE /usr/bin/matlab/licensedat
如果你只有一个License,那么你可以当Matlab启动的时候,在Maltab快捷方式或者命令行中指定License路径
windows
(1)右击Matlab快捷方式,选择属性
(2)在目标中,键入如下内容”$MATLAB\bin\win32\MATLABexe” -c “<Full Path to the MATLAB license file including file name>”
复制代码其中$MATLAB是Matlab安装根目录,可以在Matlab中键入matlabroot得到,<Path to the MATLAB license file>是License文件的绝对路径
(3)重启Matlab
Unix,Linux,or Mac
Use a -c switch to point directly at the license file when launching
If the MATLAB installer has created symbolic links, runmatlab -c <Full Path to the MATLAB license file including file name>
If symbolic links were not created, run from $MATLAB/bin//matlab -c <Full Path to the MATLAB license file including file name>
Where $MATLAB is the root MATLAB directory and <Path to the MATLAB license file> is the absolute path to your license file, likely in your $MATLAB/licenses directory
你这个程序按说是没法运行的,程序中的intrans不是matlab的函数,如是自写的,只要有,也可能运行。去掉这句后,再改一处,
[B,A] = butter(10, 02, 'low');
RGB=im2double(RGB);
rgb = filter(B, A, RGB);
RGB=im2double(rgb);
%RGB=im2double(RGB);
运行起来,并不慢。
以上就是关于如何提高matlab程序运行速度全部的内容,包括:如何提高matlab程序运行速度、matlab计算速度很慢,有没有大神帮忙看看该怎么修改、amd处理器运行matlab有多慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)