MATLAB 常用函数
创始人
2025-05-31 13:26:02
0

文章目录

  • 1 优先级
  • 2 通用命令
  • 3 标点
  • 4 数据类型
    • 4.1 整数类型
    • 4.2 浮点数类型
  • 5 函数
    • 5.1 运算函数
    • 5.2 特殊函数
    • 5.3 取整函数
    • 5.4 数组函数
    • 5.5 randperm & randsample
      • randperm函数
      • randsample函数
    • 5.6 rand & randi & unifrnd & randn
      • rand函数(常用)
      • randi函数
      • unifrnd函数
      • randn函数(常用)
    • 5.7 length & numel & size
      • length函数
      • numel函数
      • size函数(常用)
    • 5.8 find
    • 5.9 max && min
    • 5.10 end
    • 5.11 cumsum & sum

1 优先级

优先级运算法则
1括号: ( )
2转置和乘幂:’、^
3加减运算和逻辑非: +、-、~
4乘除: *、/、点乘点除
5冒号运算 :
6关系运算: >,>=,<, <=,==, ~=
7逐个元素的逻辑与: &
8逐个元素的逻辑或: |
9逻辑与: &&
10逻辑或: ||

2 通用命令

命令命令说明
clc清除命令行窗口中的所有显示内容
clf清除图形窗口
clear清除工作区的内存变量
whos列出工作区中的变量类型等信息
quit退出MATLAB
exit退出MATLAB

3 标点

标点说明
:冒号,有多种功能
;分号,区分行及取消运行结果显示
,逗号,区分列即参数分隔符
()括号,指定运算的优先级
[]方括号,定义矩阵
{}大括号,构造单元数组
%百分号,注释标记
=等号,赋值标记
惊叹号,调用操作系统运算
单引号,字符串的标识符
.小数点及对象域访问
续行符号

4 数据类型

4.1 整数类型

在这里插入图片描述

4.2 浮点数类型

在这里插入图片描述

5 函数

常用函数的总结

5.1 运算函数

函数名称函数说明
min(a,b)返回a和b中较小的值
max(a,b)返回a和b中较大的值
mean(x,2)找出x阵列的平均数
median(x,2)找出x阵列的中位数
sum(x)计算x阵列的总和值
prod(x)计算x阵列的连乘值
cumsum(x,2)计算x阵列的累计总和值(后面为2按照行来)
cumprod(x)计算x阵列的累积连乘值
sign(x)x<0时返回值为-1,x = 0时返回值为0,x>0时返回值为1

5.2 特殊函数

函数名称函数功能
ones(n)构建n*n的矩阵,矩阵元素都是1
ones(m,n)构建m*n的矩阵,矩阵元素都是1
ones(size(A))构建一个和矩阵A相同大小的1矩阵
zeros(n)构建n*n的矩阵,矩阵元素都是0
zeros(m,n)构建m*n的矩阵,矩阵元素都是0
zeros(size(A))构建一个和矩阵A相同大小的0矩阵
eye(n)构建n*n的单位矩阵(对角线为1)
eye(m,n)构建m*n的单位矩阵
eye(size(A))构建一个和矩阵A相同大小的单位矩阵
magic(n)构建n*n的矩阵,其每一行每一列的元素之和都相等
rand(n)构建n*n的矩阵,其元素为0~1之间均匀分布的随机数
rand(m, n)构建m*n的矩阵,其元素为0~1之间均匀分布的随机数

5.3 取整函数

  • round():向最接近的整数取整,若小数部分大于等于0.5,则舍弃小数部分,整数部分加1。round(128.4)=128,round(128.5)=129
  • fix():向0取整函数。fix(128.3)=128,fix(-128.4)=-128
  • floor(x):向不大于x的最接近整数取整,floor(128.4)=128,(-128.4)=-129
  • ceil(x):向不小于x的最接近整数取整,ceil(128.4)=129,(-128.4)=-128
    在这里插入图片描述

5.4 数组函数

  • linspace(start,stop,n):n为步长,产生一个从start开始,最后一个是stop的等差数列,公差为(stop - start)/(n - 1)。

5.5 randperm & randsample

randperm函数

  • randperm:random permutation,随机排列的意思。
  • randperm(n) 将1至n的序列打乱随机排列
>>randperm(5)
ans = 5 3 4 1 2 
  • randperm(m,n) 将前m个数中选取n个数进行随机排列
>>randperm(8,5) 
ans = 5 7 9 8 3
  • 如想要选取某一某一个向量A=[a1,a2,…,an]中的任一个数。则可以通过代码:
A( randperm(length(A),1) )

ans = A中随机选取任一个数,且所有数被选中的概率相等

randsample函数

  • randsample:Random sample,随机取样。
  • randsample(n,k) 与randperm(n,k) 的功能相同。
  • randsample(n,k,replacement)同上,replacement表示是否允许重复,1表示k个元素可以有重复的,0表示不可以重复
>>randsample(10,5,true)
ans = 3 6 10 10 2
>>randsample(10,5,false)
ans = 5 6 3 10 8
  • randsample(array,k)从array数组里面随机取出k个不相同的数
  • randsample(array,k,replacement)
    从array数组里面随机取出k个数,replacement表示是否允许重复,1表示k个元素可以有重复的,0表示不可以重复
  • randsample(popluation,k,true,w)
    w为权重系数,来确定原数组population或数组中不同元素出现的频次,从而生成一个长度为k的由population中的元素组成的新数组
>>randsample('ACGT',12,true,[0.15 0.35 0.35 0.15])
ans =  'AGTGGGCGCGAC'

5.6 rand & randi & unifrnd & randn

rand函数(常用)

  • rand(m,n) 产生由在[0,1]之间均匀分布的随机数组成m行n列的矩阵
  • rand(m) 等同于rand(m,m)
  • rand就可以直接生成0到1的随机数,这个指令非常常用
>>rand(3,4)
ans = 0.8300    0.1048    0.2396    0.43980.5663    0.1196    0.8559    0.58170.9281    0.2574    0.3013   0.9355
  • 如果想随机生成-1和1。可以用如下指令:
>> sign(rand-0.5)
ans = 1

randi函数

  • randi:random integral ,随机整数的意思
  • randi([a,b],m,n) 在指定区间[a,b]内随机取出大小为m*n的整数矩阵,当m = n时,可以简写为randi([a,b],m)
>>randi([1,5],4,5)
ans = 5     3     1     4     23     3     2     2     53     3     4     4     55     4     2     1     2
  • randi([m,n]) 在指定区间[m,n]内随机取出一个整数
  • 如果想随机生成0和1,可以输入如下指令:
>>randi([0,1])
ans = 1
  • randi(m,n) : 在1-m中随机取出整数,构成n×n的矩阵
>> X = randi(3,4)
X =  3     2     3     23     1     1     11     2     2     22     1     1     3

unifrnd函数

  • unifrnd(a,b,m,n) 输出在区间[a,b]之间均匀分布的随机数组成的m*n的矩阵
>> unifrnd(-2,2,3,2)
ans =1.7360    0.97250.7149   -0.43111.0310    0.6219

randn函数(常用)

  • randn : 输出一个从标准正态分布中得到的随机标量
  • randn(n) : 返回由正态分布的随机数组成的n×n矩阵
  • randn(m,n) : 返回由正态分布的随机数组成的m×n矩阵
>> randn(3)
ans =0.7254   -0.2050    1.4090-0.0631   -0.1241    1.41720.7147    1.4897    0.6715

在这里插入图片描述

5.7 length & numel & size

length函数

  • length:Length of largest array dimension,即返回数组维度的最大值
  • length(A):返回数组 A 的元素个数
  • 如果是矩阵,可以得到矩阵维度的最大值,如果是向量,则可以得到向量中的元素数
>>length(zeros(3,4))
ans = 4

numel函数

  • numel:Number of array elements,返回数组中的元素数量
>> numel(zeros(3,4))
ans = 12

size函数(常用)

  • size:Array dimensions,返回数组的维度数
  • size(A) = a , b : a 表示为行数,b 表示为列数
  • m = size(X,dim) :得到数组X的任一维度长度dim=1,为行数、dim=2,为列数,以此类推
  • a = size(X):得到数组X各个维度长度,若X为矩阵,得到其行数和列数
>> size(rand(2,3))
ans =2     3
  • 若想分别获得矩阵的行与列,可以通过以下代码获得
>> [m,n]=size(rand(2,3))
m = 2
n = 3 

5.8 find

  • find:Find indices and values of nonzero elements,常用的搜索定位计数函数
  • find(X) :寻找数组X中不为0的元素,并返回其索引数(其索引数是按照如图所示的顺序索引的)
    在这里插入图片描述
  • find(~X):寻找数组X中为0的元素,若不存在为0的元素则返回空矩阵
>>a =1   NaN     0      1  
>> find(a)
ans = 1 3 4
  • find(condition):按照搜索条件搜索满足条件的所有元素的索引数
>> find(a==1)
ans = 1 4 
  • [i, j] = find(condition):返回满足条件的所有元素的行数与列数
 >>[i,j] = find(a==1)
i =12
j =12

5.9 max && min

  • max(a) :寻找数组a中的最大元素
  • max(a,b):返回 a 和 b 中的最大值
>> a=magic(3)
a =8     1     63     5     74     9     2
>> max(a,2)
ans =8     2     63     5     74     9     2
  • 如果a为矩阵或向量,b为一个数,则max会将a中所有小于b的数替换成b,而如果b是一个与a相同大小的矩阵或向量,则max会两两对比取大值后得到一个新矩阵
  • max(x,[],dim):其中dim=1为按列求最大值(这里dim = 1是列,与size相反); dim = 2为按行求最大值。之所以加‘[]’是为了和max(a,b)区分
>> max(x,[],2)
ans = 8 7 9
>> max(x,[],1)
ans = 8 9 7 
  • [i, j] = max(x,[],dim):i 返回按照dim维度求得的最大值,j 返回最大值的元素在每个维度中所处位置

5.10 end

end函数用法

5.11 cumsum & sum

cumsum 和 sum的区别

>> A=magic(4)
A =16     2     3    135    11    10     89     7     6    124    14    15     1
  • cumsum(A):列方向上求累积和
>> cumsum(A)             %  列方向上求累积和
ans =16     2     3    1321    13    13    2130    20    19    3334    34    34    34
  • cumsum(A,1):列方向上求累积和
>> cumsum(A,1)           %  列方向上求累积和
ans =16     2     3    1321    13    13    2130    20    19    3334    34    34    34
  • cumsum(A,2):行方向上求累积和
>> cumsum(A,2)           %  行方向上求累积和
ans =16    18    21    345    16    26    349    16    22    344    18    33    34 

相关内容

热门资讯

【MySQL】锁 锁 文章目录锁全局锁表级锁表锁元数据锁(MDL)意向锁AUTO-INC锁...
【内网安全】 隧道搭建穿透上线... 文章目录内网穿透-Ngrok-入门-上线1、服务端配置:2、客户端连接服务端ÿ...
GCN的几种模型复现笔记 引言 本篇笔记紧接上文,主要是上一篇看写了快2w字,再去接入代码感觉有点...
数据分页展示逻辑 import java.util.Arrays;import java.util.List;impo...
Redis为什么选择单线程?R... 目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、R...
【已解决】ERROR: Cou... 正确指令: pip install pyyaml
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
Lock 接口解读 前置知识点Synchronized synchronized 是 Java 中的关键字,...
Win7 专业版安装中文包、汉... 参考资料:http://www.metsky.com/archives/350.htm...
3 ROS1通讯编程提高(1) 3 ROS1通讯编程提高3.1 使用VS Code编译ROS13.1.1 VS Code的安装和配置...
大模型未来趋势 大模型是人工智能领域的重要发展趋势之一,未来有着广阔的应用前景和发展空间。以下是大模型未来的趋势和展...
python实战应用讲解-【n... 目录 如何在Python中计算残余的平方和 方法1:使用其Base公式 方法2:使用statsmod...
学习u-boot 需要了解的m... 一、常用函数 1. origin 函数 origin 函数的返回值就是变量来源。使用格式如下...
常用python爬虫库介绍与简... 通用 urllib -网络库(stdlib)。 requests -网络库。 grab – 网络库&...
药品批准文号查询|药融云-中国... 药品批文是国家食品药品监督管理局(NMPA)对药品的审评和批准的证明文件...
【2023-03-22】SRS... 【2023-03-22】SRS推流搭配FFmpeg实现目标检测 说明: 外侧测试使用SRS播放器测...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
初级算法-哈希表 主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表...
进程间通信【Linux】 1. 进程间通信 1.1 什么是进程间通信 在 Linux 系统中,进程间通信...
【Docker】P3 Dock... Docker数据卷、宿主机与挂载数据卷的概念及作用挂载宿主机配置数据卷挂载操作示例一个容器挂载多个目...