当前位置: 首页 > article >正文

MATLAB期末复习笔记(上)

一、初识MATLAB

1.特点

MATLAB语言主要有以下几个特点:

语法规则简单。尤其内定的编程规则,与其他编程语言(如C、Fortran等)相比更接近于常规数学表示。对于数组变量的使用,不需类型声明,无需事先申请内存空间。

MATLAB基本的语言环境提供了数以千计的计算函数极大的提高了用户的编程效率。函数库、工具箱和App使得Matlab功能异常强大。

MATLAB是一种脚本式(scripted)的解释型语言无论是命令、函数或变量,只要在命令窗口的提示符下键入,并“回车(Enter)”,MATLAB都予以解释执行。 

平台无关性(可移植性)。MATLAB软件可以运行在很多不同的计算机系统平台上,如Windows Me/NT/2000/XP、很多不同版本的UNIX以及Linux。无论你在哪一个平台上编写的程序都可以运行在其它平台上,对于MATLAB数据文件也一样,是平台无关的。极大保护了用户的劳动、方便了用户。其绘图功能也是平台无关的。无论任何系统平台,只要MATLAB能够运行,其图形功能命令就能正常运行。 

2.Matlab的三层理解

极简的解释型编程语言;

 功能强大的工程计算和工程仿 真软件;

 原型工程系统的开发环境

3.通用窗口

命令窗口
历史命令窗口
当前工作目录窗口
工作空间浏览器窗口
变量编辑窗口
M 文件编辑/调试窗口

4.变量的命名规则

变量名由数字、字母、下划线组成,开头必须是字母

5.运算符

 eps:是浮点相对误差限,是指计算机用于区分两个数的差的最小常数,具体大小和计算机有关,理解为机器最小数,通常在做除法时,分母加上eps,防止分母为0,不能运算

NaN:如果运算有未定义的数值结果,如 0/0 或 0*Inf,则运算返回 NaN

intmax/intmin:使用方法:intmax("uint8")   --> ans = 255 intmax("uint8")    --> ans = 0

tic/toc:用来给程序计时,tic表开始计时,toc表结束计时

realmax:最大的实数

xor:表异或,xor(a,b)当a,b均为1或均为0时返回0,否则返回1

 6.通用命令

常用命令

 常用的窗口帮助命令

7.Matlab的文件格式

8.设置搜索路径的常用命令

 9.练习

 二、数组运算及数组化编程

1.数组和矩阵的概念

2.矩阵的创建、索引和赋值 

(1)直接创建

 (2)使用(:)操纵符和linspace(), logspace()等函数创建

logspace 函数 生成一个由在 10^a 和 10^b(10 的 N 次幂)之间的 50 (n默认为50)个对数间距点组成的行向量 y ,即是等比数列

linspace是等差数列

 (3)使用matlab的特殊矩阵函数创建数组

round是四舍五入

floor是向负无穷取整

ceil是向正无穷取整

fix是向0取整 

idivide(A,B)函数 将 A 的每个元素除以 B 的对应元素,朝零方向舍入到最接近的整数。

magic魔方阵的意思是矩阵元素是由整数1到n^2组成的,并且任何行任何列的和都相等 

hilb是指元素H(i,j) = 1/(i+j-1),i和j表示矩阵的行号和列号 

(4)索引

sub2ind - 将下标由全下标转换为单下标

ind2sub - 将下标由单下标转换为全下标

注意: 

 

 

 (5)矩阵的拼接

(6)利用数组编辑器创建数组 

 (7)利用数据文件创建数组

 3.多维数组和空数组

(1)多维数组

(2)空数组

空数组并非全0数组 

(3)数组维数的减小

4.矩阵的基本运算

(1)矩阵的除法 

(2)矩阵的幂运算 

(3)矩阵的关系运算

 返回的是逻辑矩阵

(4)练习

reshape - 重构数组
    此 MATLAB 函数 使用大小向量 sz 重构 A 以定义 size(B)。例如,reshape(A,[2,3]) 将
    A 重构为一个 2×3 矩阵。sz 必须至少包含 2 个元素,重构后的数组和原数组相比单下标不变

fliplr - 将数组从左向右翻转
    此 MATLAB 函数 返回 A,围绕垂直轴按左右方向翻转其各列。
 

mod和rem都是取余数

mod 和 rem之间的区别:

除后所得余数的概念的定义不是唯一的,两个函数 mod 和 rem 各计算不同的结果。mod 函数生成一个为零或与除数具有相同符号的结果。rem 函数生成一个为零或与被除数具有相同符号的结果。

另一个差别是当除数为零时的约定。mod 函数遵从 mod(a,0) 返回 a 的约定,而 rem 函数遵从 rem(a,0) 返回 NaN 的约定。

两个结果都有其各自的用途。例如,在进行信号处理时,mod 函数可在周期信号上下文中使用,因为其输出是周期性的(周期等于除数)。

 (5)矩阵的逻辑运算

5.矩阵的函数和程序设计

(1)矩阵的信息获取函数

 isempty判断是否为空数组

isscalar判断是否为标量

isvector判断是否为向量

find找符合条件的线性索引,当输出是两个参数时就是全下标索引

sort按升序对 A 的元素进行排序,C为排序后的矩阵,I是一个数组,表示每个元素在排序后的位置。例如,如果I(1)是5,那么这意味着排序后数组中的第一个元素在原数组中的位置是5。也就是说A(I)=C

(2)矩阵的操纵函数

diff函数详见matlab——diff函数_matlab diff-CSDN博客

 

 6.数组化编程

7.应用举例

(1)二维

(2)三维

 

8.矩阵综合应用:图片的编辑和处理


http://www.kler.cn/a/417925.html

相关文章:

  • 把当下的快乐和长远的目标连接在一起。
  • Linux:文件系统inode
  • 【数据结构】二叉搜索树(二叉排序树)
  • 【AI】JetsonNano启动时报错:soctherm OC ALARM
  • 对拍详细使用方法
  • 大模型翻译能力评测
  • 基于Java Springboot 求职招聘平台
  • 爬虫框架快速入门——Scrapy
  • QT 实现组织树状图
  • flutter底部导航栏中间按钮凸起,导航栏中间部分凹陷效果
  • Cursor AI快捷键的使用场景及作用
  • 【机器学习】机器学习算法与模型:逻辑回归算法
  • 电销卡风险管理系统
  • springboot358智慧社区居家养老健康管理系统(论文+源码)_kaic
  • 【大数据学习 | Spark调优篇】数据序列化(kryo序列化)
  • 鸿蒙学习使用模拟器运行应用(开发篇)
  • 深度学习基础03_BP算法(下)过拟合和欠拟合
  • 工程设计与总承包行业数字化转型:现状洞察、挑战突围与前景展望
  • 基于Java Springboot学生信息管理系统
  • asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择
  • 汉字笔画分割959张图片带注释的YOLO,COCO,VOC格式的数据集
  • Vue-指令-案例
  • java——Spring MVC的工作流程
  • Python 中的 Lxml 库与 XPath 用法
  • ARP表、MAC表、路由表的区别和各自作用
  • 为什么在PyTorch中需要添加批次维度