matlab-note-summary
matlab-note-summary
MATLAB 编程基础
数据类型
MATLAB 基础数据类型主要包括:
- 数值类型
- 字符串
- 结构
- 单元数组
- 函数句柄
1. 数值类型
包含:
- 整数
1 | y = int8(10); |
- 单精度浮点型
1 | % 单精度浮点型 |
- 双精度浮点型(默认)
1 | y = double(5.324); |
注:MATLAB 会对变量自动进行内存分配和回收,因此专注于算法本身即可。
- 取整函数
1 | % 向下取整 |
- 复数
1 | y = complex(3,5); |
- 无穷量和非数值量
Inf:正无穷量
-Inf:负无穷量
NaN:非数值量(一般由0/0或Inf/Inf 运算产生)
2. 字符与字符串
1 | % 字符 |
3. 结构
与 C 语言类似,存储不同类型数据。
1 | % 通过赋值创建结构 |
4. 单元数组
1 | % 创建单元数组 |
5. 函数句柄
创建函数句柄需要用到操作符:@
1 | % Function_Handle保存了函数句柄 |
6. 数据类型识别与转换
1 | % 类型识别 |
运算符与运算
像其他语言一样,共有(优先级由高到低):
- 算术运算符
- 关系运算符
- 逻辑运算符
加括号可以明确优先级!
1. 算术运算符
基础的: + - * /
高阶的: A./B A.*B(A,B为相同维度的矩阵)
强大之处: matlab支持大部分数学运算符,直接输入表达式即可,无需调用特定的数学函数。 举例来说:
1 | % 以下两种方式等价: |
2. 关系运算符
比较后,返回逻辑结果0或1.
基础的: > >= < <= ==
特殊的: 不等于号:~=
3. 逻辑运算符
运算后,返回逻辑结果0或1.
基础的:
- 与:&
- 或:|
- 非:~
编程基础
1. 变量
变量代表了一段可操作的内存,用来存储数据。
语句代表了对变量执行的操作。
命名规则:
- 区分大小写
- 必须以字母开头
- 不能使用关键字
- 最多包含63个字符
- 避免与函数名重合
变量类型:
- 局部变量
- 全局变量
1 | global X_Val; |
- 永久变量
1 | persistent a; |
2. 语句
- 逗号 , 输出暂缓
- 分号 ; 输出被抑制
- 回车 输出结果
- 注释 %
3. 程序控制
- 顺序结构
- 分支结构
1 | % if 类型 |
- 循环结构
1 | % for 类型(循环次数可知) |
-
其他常用控制指令
-
- return 命令:结束该函数并将控制权转回主函数或者命令行窗口
- input 命令:将控制权交给用户后,等待用户键盘输入内容
- keyboard 命令:将控制权交给键盘
- pause 命令:暂停执行文件,按任意键再继续
- pause(n) 命令:暂停 n 秒后再继续
- continue 命令:执行 for 或者 while 的下一个循环
- break 命令:跳出 for 或者 while 循环
- error(‘message’) 命令:显示出错信息,终止程序
- warning(‘message’) 命令:显示警告信息,继续执行
4. M 文件与脚本
脚本的特点:
- 脚本属于 M 文件的一种,是一系列命令的集合
- 运算过程中产生的变量自动保存在工作区中
- 脚本产生的变量都是全局变量,不随脚本关闭而清除
函数
M 文件名称和函数名称必须一致
M 文件函数:定义了输入参数或返回输出变量
1. M 文件函数
- 调用时,允许比声明变量数目少
1 | function y = mean(x,dim,flag,flag2) |
- 函数运行时,MATLAB 会打开一段临时工作区供函数使用,执行完成后回收
2. 匿名函数
没有函数名,只有表达式、输入输出参数。
1 | % f 为函数句柄 |
3. 子函数
也称局部函数。
M 函数文件出现的第一个函数称为主函数,其他称为子函数。
1 | function [outputArg1,outputArg2] = myfun(inputArg1,inputArg2) |
4. 程序调试
程序错误分为:语法错误(编译器会提醒)和逻辑错误(程序员负责解决)。
调试手段小结:
-
删除分号可以显示结果
-
在适当位置添加输出变量值,可以用 disp 或者 fprintf 函数
-
在适当位置添加 keyboard 命令
-
% 可用于屏蔽代码
-
使用 MATLAB 自带的调试工具
-
- 设置断点
- 单步执行
- 检查变量值
matlab笔记
01 | 基本的数学运算与矩阵运算
学习笔记链接:
02 |结构化编程和函数定义
学习笔记链接:
03 | 数据类型与文件读写
学习笔记链接:
04 | 基础绘图
学习笔记链接:
05 | 绘制高级图表
学习笔记链接:
06 | 数字图像处理
学习笔记链接:
07 | 数值计算
学习笔记链接:
08 | 符号运算
学习笔记链接:
09 | 统计与数据分析和曲线拟合
学习笔记链接:
- Title: matlab-note-summary
- Author: Charles
- Created at : 2023-01-13 11:50:45
- Updated at : 2023-08-17 09:48:41
- Link: https://charles2530.github.io/2023/01/13/matlab-note-summary/
- License: This work is licensed under CC BY-NC-SA 4.0.
recommend_articles
recommend_articles
Comments