matlab for循环其实并不慢,首先matlab是一个解释执行性语言,变量不需要提前申明,这也就是导致很多人误认为matlab for循环很慢的。其实是错误的认识!

原因:因为matlab循环中变量没有预先声明,导致在循环中数组大小不断变化,当大小增长时,当前数组可能需要复制到新的更大的连续内存中,这显然会导致不必要的开销。如果数组长度较短,发生上述复制过程的次数少一些,而且发生时需要复制的内容也短,所以减速不太明显。如果很长会怎么样不难想象,同时也能想到如果预先声明足够大的数组则可以避免这一过程。

以上是参考了以下内容:

http://www.zhihu.com/question/33193085

自己测试的结果:

# cat tmp1.m

clear all; clc;

tic;
a = [];
for i = 1 : 200000
    a(i) = i + 1;
% a = [a i + 1];
end
toc;

运行tmp1.m,耗时 0.079107 seconds.

# cat tmp2.m

clear all; clc;

tic;
a = [];
for i = 1 : 200000
%     a(i) = i + 1;
    a = [a   i + 1];
end
toc;

运行tmp2.m,耗时 20.464098 seconds.

从以上对比可以看出,matlab for循环耗时,还是因为for循环内存要执行的语句耗时导致的!tmp2.m之所以耗时,是因为a矩阵需要向系统申请足够大的连续内存,会发生数据的复制操作,所以比较耗时!

最后,也可以看出,tmp1.m是tmp2.m的一种解决方案!

欢迎大家留言讨论!

matlab for循环其实并不慢相关推荐

  1. matlab for循环_从零开始的matlab学习笔记——(5)循环

    上一节的内容有点多,所以循环我就放在了这一篇来说说.matlab的循环和c语言很相似,也是分为for循环和while循环. while循环: while condition 代码1 end 代码2 c ...

  2. matlab教程 for循环,Matlab for循环使用操作教程分享

    相信不少新手伙伴对Matlab for循环使用操作还不太了解,而下面的这篇文章笔者就专门为大伙分享了关于Matlab for循环使用操作教程,有需要的朋友不要错过哦. 首先安装Matlab, for循 ...

  3. matlab for循环教程,Matlab for循环使用操作教程分享

    Matlab for循环使用操作教程分享 作者:小靖子 来源:PC下载网时间:2020-05-16 09:44:38 相信不少新手伙伴对Matlab for循环使用操作还不太了解,而下面的这篇文章笔者 ...

  4. Matlab模拟循环编码译码

    1 简介 Matlab模拟循环编码译码​ 2 部分代码 function [ C_decode ] = Jiaoyanzi_decode( n,k,R,gx )%UNTITLED2 Summary o ...

  5. MATLAB 的循环语句

    1.MATLAB while循环语法 在MATLAB 中 while循环的语法如下: while <expression><statements> end while 循环反复 ...

  6. 在matlab中的循环语句,matlab中循环语句

    Matlab软件与基础数学实验 MATLAB编程介绍与循环结构 ★ MATLAB中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往 往是难以...... matl ...

  7. matlab用循环生成矩阵例题,matlab循环生成矩阵

    MATLAB 的矩阵求值的循环语句? clc;clearall;closeall;t0=[11];a=[12;34]t=t0;t(1,:)=t0'\an=10;fori=2:nt(i,:)=t(i-1 ...

  8. matlab把每次循环的结果保存idx,来自Matlab的循环Python

    我开始用Python编写代码,我来自Matlab背景.我尝试执行的for循环出现问题.在 这是我在Matlab中的for循环ix = indoor(1); idx = indoor(2)-indoor ...

  9. mysql matlab for循环嵌套循环语句吗_C++: for_each 和 基于范围的for循环

    普通的for循环 for_each函数模板 基于范围的for循环 普通用的像: for(int i = 0; i 这种的for循环就不说了, 下面主要说一下后两个,做个笔记. 以后用for循环可以考虑 ...

  10. matlab在循环中保存jpg格式_Matlab如何循环读取文件

    循环读取图片第一种方法①List =dir('*.jpg'); %如需其它图片格式支持,可以自己[重载dir()]函数,实现查找所有图片文件的功能, %如果图片是其它路径,可以用 ["路径& ...

最新文章

  1. 众方网络电话VOIP FREEGO EIS系统命令
  2. ADSL参数BITSWAP作用
  3. php+剥去标签,php剥去字符串中的html与xml及php标签的函数strip_tags()
  4. string对象和C风格字符串
  5. 诗与远方:无题(七十三)
  6. 基于JAVA+SpringMVC+MYSQL的企业员工管理系统
  7. HTML 5 新标签
  8. 为什么抢不到红包的总是你?可能是家里路由器没放对
  9. 核酸检测小程序实战教程
  10. altium09怎么查元器件_在AD09中查找元件和封装
  11. java 区位码转中文_国标码、区位码、机内码之间的转换关系
  12. 安卓psp模拟器哪个好_手机psp模拟器哪个好_安卓PSP模拟器中文官方版下载_66游戏网...
  13. 关于el-dialog取消事件
  14. 拍照时的正确姿势你掌握了吗?(下)
  15. 前端基础知识第四章---CSS
  16. 150 个 word 常用文书模板 推荐(附下载地址)
  17. python做三国杀
  18. SR-IOV虚拟出来的网卡如何被VPP(DPDK)接管
  19. chatgpt研究框架 --技术路线-行业进程研究
  20. EAS 取数公式二次开发指南

热门文章

  1. 深度学习实战之【电影评论分类】:二分类问题
  2. 搜狗S1录音笔测评:打破噪音壁垒还能语言翻译
  3. java计算机毕业设计基于web的面向公众的食品安全知识系统源程序+mysql+系统+lw文档+远程调试
  4. 斐波那契数列 Python
  5. 中国股票市场历史极端股票行情走势
  6. 语雀文章搬到CSDN并发布
  7. 金字塔原理--跨部门沟通
  8. Unable to find config file. Creating new servlet engine config file: /WEB-INF/se
  9. 翻译公司:英信翻译圆满完成上百家港股中报翻译工作
  10. mac中RStudio中文正常显示问题汇总