热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

matlab图片最多显示几张_Matlab系列之运行程序的分析

不知道大家对SystemGenerator系列中的资源分析以及时序分析的功能是否还有印象,这两个分析功能会将各模块所消耗的资源以及耗时都展现出来,用于资

2e14b09b58a7599aecaad5460a17eb9b.gif

不知道大家对System Generator系列中的资源分析以及时序分析的功能是否还有印象,这两个分析功能会将各模块所消耗的资源以及耗时都展现出来,用于资源或时序的优化,本篇将要记录的内容也与之有点相似,使用特定的功能或者语句对程序进行分析,然后得到各函数的耗时以及被调用次数等信息,最后再根据这些信息对程序进行优化,接下来就使用MATLAB提供的这两种方法来进行程序分析,下一篇再对程序优化和程序调试做介绍。

~Show Time~

05ae242903b7554ff8025591f8df8354.gif

01

第一种方法

使用一个工具——Profiler,这个工具是MATLAB中的一个图形用户接口,可以用于分析程序运行时各个部分所消耗的时间,可以从以下几个方面提供程序运行信息:

1)避免由于疏忽造成的非必要操作。

2)替换运行较慢的算法,选择快速算法。

3)通过存储变量的方式避免重复计算。

接下来说下使用Profiler进行程序运行分析的步骤:

1)查看Profiler生成的通体报告,查找运行时间最多的函数或调用最频繁的函数。

2)查看这些函数的详细报告,查找其中运行时间最多的语句或调用最频繁的语句。

3)确定运行时间最多的函数或代码是否存在改进的可能。

4)单击界面链接,打开相应文件进行修改。

5)重复进行上述的分析、修改,直至优化出满意的结果。

Profiler的使用介绍

1)打开方式

第一个打开的地方在主页->代码->运行并计时。

4d5dfdd87a3f8d80d9d4f54e961a77a6.png

第二个打开的地方在编辑器->运行->运行并计时,要看到这个功能的前提就是需要打开一个M文件。

3746d19916f11053c76ef6bd28a45a8d.png

第三个打开方式就是直接在命令行窗口输入:profile viewer

以上的三种打开方式都可以打开一个探查器的窗口,也就是Profiler的界面,在“运行此代码”中输入需要分析的命令或表达式,然后点“启动探查”,就会开始对其进行分析。

f283ad1daaa2d2926cba916a5cb655bf.png

使用一串代码进行探查测试:

[t,y] = ode23('lotka',[0 2],[20;20])

点击开始探查后,会出现如下结果,红色框中的就是所探查的程序运行的信息名称:

67a07c9aa8b7d09bf5fcc274fea11af3.png

单击图中的蓝色字体,点的是红色框所选择的名称则会进行排序,点的是函数名称一栏中的函数,则会进入其内部观察更加详细的分析报告,这份报告中含有该函数中的每行代码的被调用次数和运行时间,以及子函数、函数列表等等,可以简单看下图的内容,此外,如果点击图中红色框里的蓝色字体,则会将此时的结果保存至新的窗口(该窗口会自动弹出),可以用于程序优化后与之对比,然后分析得到较优的结果。

6be829a0f19f1aba1af3c2e49d84f896.png

73487bf978e4e5aff41654bf94837ebe.gif注意:如果你一直点开始探查,在命令行窗口也有运行代码,但是就是没探查摘要出来,别慌,跟着下面的几张图改一下字体的预设即可解决。

8e305350e35da312452b300605dce726.png 

ad76330211c5f42101f7ddf90057d43b.png

05ae242903b7554ff8025591f8df8354.gif

02

第二种方法

这个方法可以说是更加简单易懂,直接在需要计时的部分前后放置计时函数的开始和结束即可,即:计时器的开始—tic,计时器的结束—toc。

因此使用的语法就是这样子的了:

tic

      %需计时的程序代码

toc

t=toc%将记得的时间进行保存

注:如果计时的程序过于简单,计时误差会相对比较大,大家可以自己使用该种方法,然后对比结果分析下。

c93ecd070cdfc9ed126ea98b6494b95f.gif

阅读本文共使用 129923b0971fb60fcaf2e7c87cf80d60.gif a323aa092b8817a0a45811eb525eb137.gif c0a6f39ef304c3758b64891fb4fb2312.gif bd797eecf732531be0ec0d73694bc96e.gif

b49d8f556b81c49476af1050bf67aaaa.gif

884ce8cae31bda3cf45d0d13266af7ff.gif

db0cc2b4905238920cea19c94ad0d7ae.png

b49d8f556b81c49476af1050bf67aaaa.gif

f03a6c267f50f83280b91b403d48b58d.gif

电子知识

一些电路设计与DIY作品

电子设计技巧与经验

FPGA

System Generator系列教程

算法介绍

通信协议分析

资料分享

Matlab系列记录

建设中~

b8dce0d4226b668593edaeb3a1b3101b.gif

点个赞

1a4840f535b01b7d75418c7ad5b4f7ea.gif

再走吧




推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 无损压缩算法专题——LZSS算法实现
    本文介绍了基于无损压缩算法专题的LZSS算法实现。通过Python和C两种语言的代码实现了对任意文件的压缩和解压功能。详细介绍了LZSS算法的原理和实现过程,以及代码中的注释。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 如何使用迅捷PDF编辑器给PDF文件设置全屏动画
    本文介绍了使用迅捷PDF编辑器给PDF文件设置全屏动画的方法,包括安装软件、添加PDF文件、设置动画效果和页面范围等步骤,帮助用户实现PDF文件的全屏动画效果。操作简单,适用于华为全屏等设备。 ... [详细]
author-avatar
蔡彬好看_352
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有