MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量(一)

简介: MATLAB 常用数学函数和数组和字符串、元胞数组和结构体,MATLAB 编程,关系运算符和逻辑变量

MATLAB 零基础学习

简介

MATLAB(Matrix Laboratory)是Mathworks 公司(成立于1984 年,位于马萨诸塞州纳蒂克)

开发的一个软件包。MATLAB 支持高性能数值计算和可视化功能,有80 多个工具箱,可用

于各种计算、图形任务。

https://ww2.mathworks.cn/products/matlab.html

 

使用平台

本人使用的MATLAB 版本是R2021a

 

一、MATLAB 界面

启动MATLAB 之后可以看到MATLAB 窗口有以下子窗口:最上面是工具栏和功能区。

 

  1. 命令行窗口(Command window):这是MATLAB 主窗口(有命令>>),从中启动应用程
    序或键入命令。
  2. 当前文件夹(Current directory):当前文件的位置,文件的默认路径,文件运行时需要
    定位到文件所在目录。输入cd 查看命令,可以查看当前路径,使用cd 命令更改到合适的目
    录,执行MATLAB 文件。
  3. 工作区(Workspace):工作区显示了所有变量的类型和大小,可以单击一个变量进行查
    看。
  4. 编辑器(The Editor window):可以在编辑器这里编辑、创建、保存MATLAB 程序,单击
    新建脚本,出现编辑器窗口,点击新建、运行、保存,对文件进行操作。

 

二、基础操作

使用方法

可以像使用计算器一样使用MATLAB 进行简单加、减、乘、除、指数运算等运算。有两

种使用方法:

(1)直接将运算输入命令行,按回车键得到计算结果。

(2)输入数学表达式进行计算,将结果存储在变量中。

在命令行输入命令之后按回车执行。

 

其中,r,d 为变量的名称,d=2*r 是赋值语句,首先计算等号右边的值,将值赋值给等号左边的变量。

常用数学函数

以下列举出常用的数学函数,包括三角函数、指数函数、对数函数、复数函数、取整、取余等。

初等函数

加法

+ 添加数字
sum 数组元素求和
cumsum 累计和
movsum 移动总和

减法

- 减法
diff 差分和近似导数

乘法

.* 乘法
* 矩阵乘法
prod 数组元素的乘积
cumprod 累积乘积
pagemtimes 按页矩阵乘法

除法

./ 数组右除
.\ 数组左除
/ 求解关于x的线性方程组 xA =B
\ 求解关于x的线性方程组 Ax =B

.^ 按元素求幂
^ 矩阵幂
mod 除后的余数(取模运算)
rem 除后的余数
idivide 带有舍入选项的整除
ceil 向正无穷舍入
fix 向零舍入
floor 向负无穷舍入
round 四舍五入为最近的小数和整数

三角函数

正弦

sin 参数的正弦,以弧度为单位
sind 参数的正弦,以度为单位
sinpi 准确地计算sin(X*pi)
asin 反正弦(以弧度为单位)
asind 反正弦(以度为单位)
sinh 双曲正弦
asinh 反双曲正弦

余弦

cos 以弧度为单位的参数的余弦
cosd 以度为单位的参数的余弦
cospi 准确地计算cos(X*pi)
acos 反余弦(以弧度为单位)
acosd 反余弦(以度度为单位)
cosh 双曲余弦
acosh 反双曲余弦

正切

tan 以弧度为单位的参数的正切
tand 以度为单位的参数的正切
atan 反正切(以弧度为单位)
atand 反正切(以度为单位)
atan2 四象限反正切
atan2d 四象限反正切(以度为单位)
tanh 双曲正切
atanh 反双曲正切

指数和对数

exp ex
expm1 针对较小的X值正确计算exp(x)-1
log 自然对数ln
log10 常用对数以10为底
log1p 针对较小的X值正确计算log(1+x)
log2 以2为底的对数和浮点数分解
nextpow2 2的更高次幂的指数
nthroot 实数的第n次实根
pow2 浮点数的以2为底的幂运算和缩放
reallog 非负数-实数-数组的自然对数
realpow 仅实数输出的数组幂
realsqrt 非负-实数-数组的平方根
sqrt 平方根

复数

abs 绝对值的和复数的模
angle 相位角
complex 创建复数数组
conj 复共轭
cplxpair 将复数排序为复共轭对组
i 虚数单位
imag 复数的虚部
isreal 确定数组是否使用复数存储
j 虚数单位
real 复数的实部

标点符号

(1)分号(;)

在一条语句结尾处作为结束,或者用于数组分行。

(2)百分号(%)

在程序文本中添加注释,百分号之后的文本为注释,不进行编译。

常用操作

以下列举一些常用的命令和快捷键,可以操作更加方便。

ans 最近计算的答案
clc 清空命令行窗口
diary 将命令行窗口文本记录到日志文本中
format 设置命令行窗口的输出显示格式
home 发送光标复位
iskeyword 确定输入是否为Matlab关键字
more 控制命令行窗口的分页输出
clear 清空工作区的变量
cd 显示或者更改工作目录
dir 显示当前目录下的文件
Esc 取消当前输入行
调用上一行
调用下一行
Ctrl+k 剪切光标和表达式结尾之间的内容
Ctrl+N 新建脚本

三、文件类型

MATLAB 的文件,文件是命令数据的集合。

  1. m 文件,扩展为.m
    用MATLAB 编写的程序文件为M 文件,可以读取、修改、执行。根据调用方式的不同,分为脚本文件(script)和函数文件(function)。脚本文件是代码的集合,将一系列命令输入到脚本文件中,执行文件,会依次执行命令。函数文件时以function 为开头,定义一个函数,可以被调用。
  2. mat 文件,扩展为.mat
    MATLAB 中使用的数据存储文件,保存时创建,使用load 命令进行读取。
  3. figure 文件,扩展为.fig

MATLAB 的图形,保存时创建。

 

数组

一、数组基础知识

  1. 数组简介
    数组是一个相同数据类型元素的集合(通常存储在连续的内存位置),单个数据元素通
    过一个或多个索引(在两个或多个维度的情况下)进行访问。
  2. 数组分类
    根据数组元素个数排列方式分类,数组可分为:空数组,向量(一维数组),二维数组,多维数组。
    空数组是没有元素的数组。
    向量是只有一行或者一列的数组,也称为一维数组。只有一个元素的变量也认为是一维数组。一维数组x=[1 2 3 4 ]有四个元素。
    二维数组具有多行多列。二维数组是矩阵。二维数组y=[1 2 3; 4 5 6]有两行三列。
    多维数组是维数超过2 的数组,具有多个维度。
  3. 数组维数计算
    通过size()函数可以得到数组每一维的大小,返回n 维向量,包含每一维的大小。
    length()函数返回数组的最大维度。

二、数组创建与操作

创建数组可以通过直接输入来创建,也可以通过MATLAB 内置函数来创建。

创建

(1) 直接创建

1. >>x=[1 2 3]
2. x=
3.  1 2 3
4. >>y=[1;2;3]
5. y=
6.  1
7.  2
8.  3

(2) 内置函数创建

函数zeros(m,n)可以创建全为0 的m 行n 列的数组。

 

函数ones(m,n)可以创建全为1 的m 行n 列的数组。

 

函数diag(A)可以创建对角元素为A 的对角矩阵。

 

函数 eye()可以创建单位矩阵。

 

函数 rand(m,n)可以创建 m 行 n 列的取值为 0-1 的随机数组。

 

函数 linspace(x1,x2,n)可以创建在 x1 和 x2 之间的等距数组。

 

数组操作

(1) 获取数组中的元素

根据索引值获取元素,利用圆括号括起来索引值。如:A(2,3)得到数组A 中第二行第三列的元素。

根据冒号和表达式获取元素,如:A(i,:)得到第i 行的所有元素,A(i,:)得到第i 行的所有元素,A(:,j)得到第j 列的所有元素。A(i,k:k+m)得到第i 行第k 列到k+m 列的所有元素,A(k:k+m,j)得到第k 行到k+m 行第j 列的所有元素。

(2) 数组算数操作

两个数组的维数相同或者其中一个为标量可以进行加减乘除指数算数操作。两个数组的乘法、除法、指数运算需要用’.’点操作符,如:.*, ./, .^。

 

 

 

 

(3)使用库函数运算

       sum 函数运用于二维数组时,计算数组每一列元素的和,返回一个行向量。运用于一维数组时,返回数组所有元素的和。

       mean 函数运用于二维数组时,计算数组每一列元素的平均值,返回一个行向量。运用于一维数组时,返回数组所有元素的平均值。

       min 函数运用于二维数组时,返回数组每一列元素的最小值,返回每一列最小值所在行号的行向量。运用于一维数组时,返回数组的最小值和位置。

       max 函数运用于二维数组时,返回数组每一列元素的最大值,返回每一列最大值所在行号的行向量。运用于一维数组时,返回数组的最大值和位置。

(4) 数组逻辑运算

对数组进行逻辑运算得到布尔值,返回逻辑值数组与原数组具有相同大小。

 

与”&”对数组进行与逻辑运算,或”|”对数组进行或逻辑运算,非”~”对数组进行非逻辑运算,如下。

 

 

 

(5) 数组连接

如果两个数组具有相同的行数,两个数组可以水平方向连接。[A,B]

如果两个数组具有相同的列数,两个数组可以垂直方向连接。[A;B]


目录
相关文章
|
2月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
46 0
matlab--------矩阵重构,重新排列的相关函数说明
|
2月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
1月前
雷达模糊函数及MATLAB仿真(三)
雷达模糊函数及MATLAB仿真
18 0
|
1月前
雷达模糊函数及MATLAB仿真(一)
雷达模糊函数及MATLAB仿真
26 0
|
2月前
|
算法
【数学建模竞赛】Matlab逻辑规则,结构基础及函数
【数学建模竞赛】Matlab逻辑规则,结构基础及函数
27 0
|
3月前
|
机器学习/深度学习 算法
基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数
基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数
|
4月前
|
机器学习/深度学习 存储
【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值
【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值
|
4月前
|
机器学习/深度学习 存储
【Matlab智能算法】Elman神经网络-遗传算法(Elman-GA)函数极值寻优——非线性函数求极值
【Matlab智能算法】Elman神经网络-遗传算法(Elman-GA)函数极值寻优——非线性函数求极值
|
4月前
|
机器学习/深度学习 存储
【Matlab智能算法】RBF神经网络-遗传算法(RBF-GA)函数极值寻优——非线性函数求极值
【Matlab智能算法】RBF神经网络-遗传算法(RBF-GA)函数极值寻优——非线性函数求极值
|
4月前
|
机器学习/深度学习 存储 算法
【程序员必须掌握的算法】【Matlab智能算法】GRNN神经网络-遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值
【程序员必须掌握的算法】【Matlab智能算法】GRNN神经网络-遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值

热门文章

最新文章