MATLAB入门到精通(一):简介及数据类型

本文是MATLAB入门系列的第一部分,详细介绍了MATLAB的基础知识,包括MATLAB概述、数据类型(如数组、字符串、结构体和单元数组)的创建、操作和特性。内容涵盖数组的创建、寻址、排序、运算,以及字符串的构建、比较、查找和转换等。通过本教程,读者将对MATLAB的数据处理能力有深入理解。
摘要由CSDN通过智能技术生成

本文所使用的MatLab为MATLAB R2021a,其他版本的内容基本一致。
合集:
MATLAB入门到精通(一):简介及数据类型
MATLAB入门到精通(二):基本语句及绘图
MATLAB入门到精通(三):常用函数及数学应用


一、MATLAB概述

1.1 MATLAB简介

MATLAB译为矩阵实验室,最初用来提供通往LINPACK和EISPACK矩阵的软件包接口。后来,它渐渐发展成为通用的科技计算图形交互系统和程序语言。
MATLAB支持主流的操作系统,提供了大量的平台独立措施。在其他平台可以正常运行的文件,在新的平台上仍可以运行。
任何一个MatLab程序的基本组成单元都是数组,数组是一组数据值的集合,这些数据被编上行号列号,拥有唯一的名称。


1.2 MATLAB界面

MatLab的工作界面主要由工具栏、当前文件夹窗口、工作区窗口、命令历史记录窗口和命令行窗口组成。如图1-1
图1-1


1.3 命令行与脚本

可以浅显的这样理解:

  • 命令行是每次执行一行命令,一般可以做一些小的测试或者一些命令使用,也是数据的展示窗口。
  • 脚本是每次执行多行命令,后面的程序一般都是在这里编写,可以选择执行的范围。对应的命名为.m结尾的文件。

二、数组

2.1 一维数组的创建

2.1.1 手动创建向量

一维数组就是向量,下文的向量意思也和一维数组相同。

在这里插入图片描述

2.1.2 其他方式创建向量

用 :创建向量
语法为:a=j:s:k
j表示起始数字,s表示步长(省略为1),k表示结尾数字。

在这里插入图片描述

用函数linspace创建向量
linspace函数可以生成按照等差形式排列的行向量。语法为:a=linspace(x1,x2,n),即在x1和x2之间生成n个数据,这n个数据自动的按照等差数列的形式排列。

在这里插入图片描述

2.1.3 行列向量的转换

① 转置的方式转换
在matlab中 ‘ 的作用是对数组进行转置,在一维数组中即为行列向量的转换。这里对于一维数组的处理与二维数组的处理相同,后续不在赘述。

在这里插入图片描述
② 使用函数transpose
在这里插入图片描述


2.2 二维数组的创建

二维数组可以看成是矩阵,与一维矩阵看成向量相同,本文后续矩阵和二维数组是同一意思。

2.2.1 手动创建矩阵

即为多行向量的合并,每行之间用 ; 隔开。

在这里插入图片描述

2.2.2 其他方式创建矩阵

matlab种矩阵的创建方式有很多,这里无法全部列举,仅对使用更多的方式进行介绍。

① ones()函数创建全1矩阵
语法为:a=ones(m,n),即为生成一个m行n列元素全为1的矩阵a。
可以省略少写一个参数,即为对应nxn的全1矩阵。

在这里插入图片描述
② eye()函数创建单位矩阵

语法为:a=eye(m,n),即为生成一个m行n列的单位矩阵a
可以省略少写一个参数,即为对应nxn的单位矩阵。

在这里插入图片描述③ zeros()函数创建全0矩阵

语法为:a=zeros(m,n),即为生成一个m行n列元素全为0的矩阵a。
可以省略少写一个参数,即为对应nxn的全0矩阵。

在这里插入图片描述
④ rand()函数创建均匀分布的矩阵

语法为a=rand(m,n),即为生成一个m行n列元素均匀分布的随机矩阵a。

可以省略少写一个参数,即为对应nxn的随机的矩阵。

在这里插入图片描述
⑤ diag()函数创建对角矩阵

语法为a=diag(D),即为生成一个对角元素为矩阵D的矩阵,D为一为数组。

在这里插入图片描述


2.3 数组的寻址

数组中总数包含多个元素,因此在对数组的单个元素或者多个元素进行访问时,需要进行数组的寻址运算。

2.3.1 一维数组的寻址

一维数组寻址操作比较简单,直接看例子即可。

① 访问单个元素

在这里插入图片描述

② 访问多个元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3.2 二维数组的寻址

二维数组寻址与一维数组的寻址类似。

在这里插入图片描述在这里插入图片描述还可以使用寻址函数sub2ind()读取数组中凌乱排序的元素,是将一个二维数组的下标变成索引,然后用索引对二维数组进行寻址。例如:

在这里插入图片描述
在这里插入图片描述


—————————(2023/3/1418:13)——————————

2.4 数组的排序

MATLAB提供数组排序的函数sort(),该函数可对任意给定的数组进行排序。

2.4.1 一维数组的排序

语法:[b,index]=sort(a),即为对数组a进行排序,b为排序后的数组,Index为b中对应元素在a中的索引。
在这里插入图片描述在这里插入图片描述

2.4.2 二维数组的排序

语法:[b,index]=sort(A,dim,mode),表示对数组A进行排序,若dim=1表示对每一列进行排序(可省略);若dim=2表示对每一行进行排序(不能省略)。mode=‘descend’表示进行降序排列,mode=‘ascend’表示进行升序排列,默认为升序排列。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述


2.5 数组的检测

① isempty()函数

isempty()函数主要用于检测某个数组是否为空数组。
若返回值为1则为空数组,返回值为0则不是空数组。

在这里插入图片描述在这里插入图片描述
② isscalar()函数

isscalar()函数主要用来检测某个数组是否为单元素的标量数组.
调用方法与上述一致。

③ isvector()函数

isvector()函数主要用来检测某个数组是否具有一行或一列元素的一维向量数组,即判断是不是向量。

④ issparse()函数

issparse()函数用来检测某个数组是否为稀疏矩阵。


2.6 数组的结构属性

2.6.1 数组的长度

数组的长度,即为数组的行数和列数之间的最大值。
使用lengeth()函数得到。

  • 17
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值