matlab - 程序流程控制、函数文件、特殊函数、调试与优化

news2024/10/6 14:30:33

学习视频

MATLAB代码的两种执行方式:命令行、程序执行。

1.程序流程控制

1.1.m文件

matlab中m文件分为两种: 脚本文件&函数文件
脚本文件:实际上是一个命令的集合,可认为是命令行的改良版,方便我们去编写命令
函数文件:声明了一个函数,是一个代码块,方便程序调用
区别:脚本没有输入没有返回,可以直接运行( 输入文件名/F5);函数类似于一个完整的程序,有输入有返回,在脚本中 调用才能运行。

脚本:

函数:

mlx文件

实时脚本,边写边运行,可以在输入时进行函数名自动补全。

1.2.三种程序结构

实例:

1.3.选择结构

if-else

switch

1.4.选择结构

for

示例:

while

break和continue

这个没什么好说的,和C++/C那些一样。

1.5.循环嵌套

这个也没什么好说的,示例(阶乘和):

2.函数文件

2.1函数文件的基本结构

由function和end引导,包含输入和输出
说明:函数文件名和函数名可以不同

2.2函数调用

% [输出参数表] = 函数名字(输入参数)
% 注意:输入的参数顺序、个数预定义的一致

2.3递归

2.4函数参数

2.5变量的作用域

% 全局变量global,局部变量local(函数内部)
% global作用域为整个函数空间,所有函数都可以对它进行存取和修改
% global可用来函数间的信息传递
% 不提倡使用global

3.特殊函数

3.1 子函数

主函数 Primary function
子函数 Subfuntion
子函数类似于其他编程语言中函数嵌套中的内层函数

3.2内联函数

以字符串形式存在的函数表达式可以通过 inline 函数转化成内联函数

3.3匿名函数(一行函数)

基本格式如下:
匿名函数名 = @(匿名函数输入参数) 匿名函数表达式
或者 匿名函数名 = @ 函数名

4.调试与优化

4.1程序调试

% help debug
% 常用的有
dbstop 设置函数断点
dbclear 清除断点
dbcont 从断点处执行
dbquit 推出debug模式

% 步进:运行一条语句,但不进入函数 F10
% 步入:单步运行,遇到函数进入函数,任然但不运行 F11

4.2程序性能分析与优化

% 利用探查器 Profiler
profile on % 打开探查器
debugTest % 脚本名字
profile viewer % 查看探查器的检测内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/389805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

守护进程 || 精灵进程

目录 守护进程(deamon) || 精灵进程 特点 什么是前台进程组 把自己写的服务器deamon deamon代码 守护进程(deamon) || 精灵进程 特点 01. 他的PPID是1(附件特征)02. COMMAND --- 称为进程启动的命令03…

[ vulnhub靶机通关篇 ] Empire Breakout 通关详解

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

应用层协议 HTTP HTTPS

目录 应用层 再谈 "协议" 序列化和反序列化 关于 json库 request序列化 request反序列化 response序列化 response反序列化 PS:命令宏 HTTP协议 认识URL urlencode和urldecode HTTP协议格式 HTTP请求 HTTP响应 请求方法 ​编辑 HT…

使用Element-UI展示数据(动态查询)

学习内容来源:视频P4 本篇文章进度接着之前的文章进行续写 精简前后端分离项目搭建 Vue基础容器使用 目录选择组件修改表格组件修改分页组件增加后端接口前端请求数据接口页面初始化请求数据点击页码请求数据选择组件 在官方文档中选择现成的组件,放在页…

XSS漏洞分类

XSS漏洞分类XSS分类反射型XSS反射XSS案例存储型XSS存储型XSS实操XSS分类 XSS根据类型和利用手法的不同,主要分为三大类: 反射型XSS存储型XSSDOM型XSS 反射型XSS 反射型XSS又称为非持久型XSS,是现在最容易出现的一种XSS漏洞。用户在请求某…

零死角玩转stm32初级篇4-初识 STM32 库

本篇博文目录:一.STM32库开发的相关概念知识1.什么是 STM32 库?2.CMSIS 标准二.STM32 结构及库层次关系1.库目录,文件简介2.CMSIS3.STM32F10x_StdPeriph_Driver4.STM32F10x_StdPeriph_Template5.库各文件间的关系三.使用库帮助文档1.常用官方资料2.官网手…

Math类详解与Random类、三种随机数生成方式(java)

文章目录📖前言:🎀认识Random类🎀三种随机数生成方式🎀Math类的用途🎀Math类的方法📖前言: 本篇博客主要以介绍Math类的常用方法及认识Random类,及三种随机数生成方式 …

Docker学习(二十)什么是分层存储?

目录1.简介2.什么是 Union Mount?3.分层介绍1)lowerdir 层(镜像层)2)upperdir 层(容器层)3)merged 层4.工作原理1)读:2)写:3&#xff…

Java位集合之BitMap,BitSet解析

文章目录1 Java位集合1.1 Bit-Map1.1.1 简介1.1.2 添加1.1.3 清除1.1.4 查找1.2 Bitmap应用1.2.1 快速排序1.2.2 快速去重1.2.3 快速查找1.3 BitSet1.4 Bloom Filters1.4.1 简介1.4.2 BloomFilter 流程1 Java位集合 前几天刚学习了Redis中位操作命令,今天顺便学下j…

【unity】rts engine 6 放置并建造建筑;

一 放置并建造建筑 GameManager -> Essential -> BuildingExtension 查看 building placement building position y offset Y轴偏移,建筑离地距离,可0.1 terrain max distance 放置建筑与允许地形的最大距离,可1 placable terrain …

linux基本指令和权限

目录 一.shell命令以及运行原理 二.Linux常用指令 1. ls 指令 2. pwd命令 3.cd指令 4. touch指令 5.mkdir指令(重要) 6.rmdir指令 && rm 指令(重要) 7.man指令(重要) 8.cp指令(重要&…

AI_Papers周刊:第四期

2023.02.28—2023.03.05 Top Papers Subjects: cs.CL 1.Language Is Not All You Need: Aligning Perception with Language Models 标题:KOSMOS-1:语言不是你所需要的全部:将感知与语言模型相结合 作者:Shaohan Huang, Li …

[C++]vector模拟实现

目录 前言: 1. vector结构 2. 默认成员函数 2.1 构造函数 无参构造: 有参构造: 有参构造重载: 2.2 赋值运算符重载、拷贝构造(难点) 2.3 析构函数: 3. 扩容 3.1 reserve 3.2 resize…

Matlab小波去噪——基于wden函数的去噪分析

文章目录一、问题描述二、代码问题1:原始信号加6分贝高斯白噪声问题2:确定合适的小波基函数问题3:确定最合适的阈值计算估计方法问题4:确定合适的分解层数问题5:实际信号去噪问题6:对比三、演示视频最后一、…

团队死气沉沉?10种玩法激活你的项目团队拥有超强凝聚力

作为项目经理和PMO,以及管理者最头疼的是团队的氛围和凝聚力,经常会发现团队死气沉沉,默不作声,你想尽办法也不能激活团队,也很难凝聚团队。这样的项目团队你很难带领大家去打胜仗,攻克堡垒。但是如何才能避…

Python|贪心|数组|二分查找|贪心|数学|树|二叉搜索树|在排序数组中查找元素的第一个和最后一个位置|计数质数 |将有序数组转换为二叉搜索树

1、在排序数组中查找元素的第一个和最后一个位置(数组,二分查找) 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 […

第十四届蓝桥杯三月真题刷题训练——第 2 天

目录 题目1:奇数倍数 代码: 题目2:求值 代码: 题目3:求和 代码: 题目4:数位排序 代码: 题目1:奇数倍数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即…

收银系统的设计与实现

技术:Java、JSP等摘要:随着销售行业竞争的日益激烈,收银系统的引入显得极其重要。收银系统不但可以提高商品存储管理的工作效率,而且可以有效减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度&#xff0c…

Java虚拟机的运行时数据区-go语言实现

Java虚拟机的运行时数据区 Java虚拟机把存放各式各样数据的内存区域叫作运行时数据区。运行时数据区分成两类: 一类时多线程共享的,一类时线程私有的。多线程共享的数据在Java虚拟机启动时创建好,在Java虚拟机退出时销毁。线程私有的运行时…

序列号和反序列化--java--Serializable接口--json序列化普通使用

序列化和反序列化序列化和反序列化作用为什么需要用途Serializable使用serialVersionUID不设置的后果什么时候修改Externalizable序列化的顺序json序列化序列化和反序列化 序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的过…