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]


目录
相关文章
|
17天前
|
算法 数据可视化 数据处理
MATLAB内置函数
【10月更文挑战第6天】本文详细介绍了MATLAB的内置函数和自定义函数,涵盖数学计算、矩阵操作、图形绘制等方面。通过具体代码示例,展示了如何使用内置函数和创建自定义函数,以及它们在性能、灵活性和可读性上的优劣。同时,文章还讨论了函数文件与脚本文件的区别,匿名函数和函数句柄的高级应用,帮助读者更好地利用MATLAB解决复杂问题。
23 1
|
19天前
|
存储 机器学习/深度学习 数据可视化
MATLAB脚本与函数
【10月更文挑战第4天】本文介绍了MATLAB脚本与函数的基本概念及编写方法,涵盖脚本和函数的创建、运行及优缺点,通过示例帮助初学者快速上手。同时,文章还涉及数据类型、控制结构、数据可视化、文件操作、错误处理等内容,提供了丰富的示例和学习资源,助力初学者逐步掌握MATLAB编程。
54 3
|
3月前
|
Python
【Python】实现MATLAB中计算两个矩形相交面积的rectint函数
Python中实现MATLAB中rectint函数的方法,该函数用于计算两个矩形相交区域的面积,并通过定义Rectangle类和calc_area函数展示了如何计算两个矩形的交集面积。
44 1
|
4月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于负相关误差函数的4集成BP神经网络matlab建模与仿真
**算法预览:** 图像显示无水印的2022a版MATLAB运行结果 **软件版本:** MATLAB 2022a **核心代码片段:** 省略展示 **理论概述:** NCL集成BP网络利用负相关提升泛化,结合多个弱模型减少错误关联。通过λ参数控制模型间负相关程度,λ>0增强集成效果,提高预测准确性和系统稳健性。
|
4月前
|
数据采集 并行计算 算法
LabVIEW与Matlab联合编程的途径及比较
LabVIEW与Matlab联合编程的途径及比较
63 0
LabVIEW与Matlab联合编程的途径及比较
|
5月前
|
算法 数据可视化 数据挖掘
MATLAB中常用的数学函数及其应用示例
MATLAB中常用的数学函数及其应用示例
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
6月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6月前
|
调度
知识分享|分段函数线性化及matlab测试
知识分享|分段函数线性化及matlab测试
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
162 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码