如何提高matlab的运算速度慢,如何提高 matlab 计算速度 运算效率
最近在网上查了一些资料,并结合自己的经验,就如何提高matlab计算效率,总结一下几个原则:
1. 提前给数组分配大小。
例如:在程序循环时用到数组变量 a ,若知道数组 a 的大小或者知道 a 的大小上界,则可以提前给数组a 分配大小。一般MATLAB也会给没有提前
分配大小的变量数组下面标示红线,提醒修改。
a=zeros(10,10)生成一个10行10列的零矩阵。
a=100*ones(10,10)生成一个10行10列的矩阵,并且每个元素都是100。
a=(1:10)生成一个从1到10的1行10列矩阵。
2. 尽量用矢量计算,减少 for 循环。
最近我也才意识到这一点,matlab自带的很多函数都支持矢量计算。直接矢量计算,避免大量的for循环。
用 min 函数举例:
clc
a=(1:1000000);
tic
for i=1:1000000
a(i)=min(a(i),100);
end
toc
tic
b=max(a,100);
toc
结果显示:
时间已过 0.028604 秒。
时间已过 0.006296 秒。
可见后者比前者的 for 循环快。
3. 尽量调用 maltab自带的函数来实现一些功能。
这个是显而易见的,matlab自带的函数由大神级的matlab开发人员所编写,他们当然会在计算速度上做不少优化,一定比我们编写的好。
4. 少用 find 函数,用 logical 替代。
查找替换矩阵中的元素,过去用 find 函数,现在用 logical 更好。
下面用一个例子,分别测试 for 循环,find函数,logical函数查找替换:
a=(1:10000000);
tic
for i=1:length(a)
if a(i)>5
a(i)=1;
end
end
toc
tic
a(find(a)>5)=1;
toc
tic
a(logical(a)>5)=1;
toc
结果显示:
时间已过 0.407840 秒。
时间已过 0.378585 秒。
时间已过 0.119918 秒
可见,find 函数仅仅比 for 循环快一点,而 logical 函数则显著快于它们。
5. 大规模的循环,可以调用 c语言或 C++来 计算。
这个见不少资料说,自己还没试过,有机会测试一下。
如何提高matlab的运算速度慢,如何提高 matlab 计算速度 运算效率相关推荐
- 如何提高 matlab 计算速度 运算效率
最近在网上查了一些资料,并结合自己的经验,就如何提高matlab计算效率,总结一下几个原则: 1. 提前给数组分配大小. 例如:在程序循环时用到数组变量 a ,若知道数组 a 的大小或者知道 a 的大 ...
- 如何提高matlab的运算速度慢,如何提高MATLAB的运算速度
根据我的一些经验和相关的参考资料,要想提高其运算的速度,以下的方法可以试一下: (1)尽可能地用向量化的数组运算代替循环,尽可能地减少使用户for或while循环,这是因为matlab执行循环运算效率 ...
- matlab矩阵作分钟平均,提高matlab运行速度和节省空间的心得合集(ZT)
B = aiTemp(A(iXmin:iXMax,iYMin:iYMax,iZMin:iZMax)); 当然了,改进的前提是知道矩阵A的非零元(即值为true的元素)大致的分布,也就是能够求出iXmi ...
- python 加快计算速度_python怎么提高计算速度
下面是python中的一个函数计算代码: loops=25000000 from math import* a=range(1,loops) def f(x): return 3*cos(x)+4*s ...
- python计算速度_python中如何提高计算速度?
下面是python中的一个函数计算代码:loops=25000000 from math import* a=range(1,loops) def f(x): return 3*cos(x)+4*si ...
- 如何快速提高英飞凌单片机编译器 TASKING TriCore Eclipse IDE 编译速度
1.前言 使用英飞凌单片机编译器 TASKING TriCore Eclipse IDE 开发编译时,想必感受最深刻的就是编译速度,那是非常慢了,如果是部分修改的源文件编译还好,不用等太久,而如果选择 ...
- INFOCOM 2021最佳论文奖:一种新颖的分布式算法提高在GPU集群上训练大型AI模型的效率
INFOCOM 2021最佳论文:Exploiting Simultaneous Communications to Accelerate Data Parallel Distributed Deep ...
- 科学计算机怎么算分数加减,《如何提高五年级学生异分母分数加减法计算正确率》...
数学五年级教材中的异分母分数加减法计算,难度增加了.不少学生出现了计算能力差,计算速度慢,计算错误率偏高的问题.引导学生动手操作.自主探索,不仅是转变学生数学学习方式的需要,也是学生发现算理,理解算理 ...
- 提高Stable Diffusion十倍计算速度以及解决内存崩溃问题
在启动Stable Diffusion时一直报Torch not compiled with CUDA enabled警告,一开始没在意本着能用就行的态度凑活用,每个图都耗时十多秒,然后本着好奇Tor ...
- 模板匹配 -提高计算速度
误差平方和算法(SSD) 误差平方和算法(Sum of Squared Differences,简称SSD算法),也叫差方和算法.实际上,SSD算法与SAD算法如出一辙,只是其相似度测量公式有一点改动 ...
最新文章
- 人工智能机器视觉的未来发展趋势
- Python调用MySQL模块初试
- golang中的指针
- CF1037H Security——SAM+线段树合并
- leetCode-88. 合并两个有序数组
- 《LoadRunner 没有告诉你的》之四——理解性能
- java 注释 过时_Java 注解
- 重装Windows后修复Linux引导
- insertion-sort-list——链表、插入排序、链表插入
- Expression Blend实例中文教程(12) - 样式和模板快速入门Style,Template
- primefaces教程_Primefaces树,TreeNode,TreeTable示例教程
- 运筹OR帷幄,运筹优化的剖析与应用
- phpwind测试实战之phpwind安装(三)
- 服务器API压力测试 -ab工具
- python爬虫--代理的使用
- 当硅谷码农还在吃着火锅唱着歌,工作已经快没了
- leetcode 第1题【两数之和】C语言
- 响应式织梦模板装修装饰设计类网站
- 乐吾乐零部件拆解可视化解决方案
- 制作自己的Tomcat镜像