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 

相关内容

热门资讯

电视安卓系统哪个品牌好,哪家品... 你有没有想过,家里的电视是不是该升级换代了呢?现在市面上电视品牌琳琅满目,各种操作系统也是让人眼花缭...
安卓会员管理系统怎么用,提升服... 你有没有想过,手机里那些你爱不释手的APP,背后其实有个强大的会员管理系统在默默支持呢?没错,就是那...
安卓系统软件使用技巧,解锁软件... 你有没有发现,用安卓手机的时候,总有一些小技巧能让你玩得更溜?别小看了这些小细节,它们可是能让你的手...
安卓系统提示音替换 你知道吗?手机里那个时不时响起的提示音,有时候真的能让人心情大好,有时候又让人抓狂不已。今天,就让我...
安卓开机不了系统更新 手机突然开不了机,系统更新还卡在那里,这可真是让人头疼的问题啊!你是不是也遇到了这种情况?别急,今天...
安卓系统中微信视频,安卓系统下... 你有没有发现,现在用手机聊天,视频通话简直成了标配!尤其是咱们安卓系统的小伙伴们,微信视频功能更是用...
安卓系统是服务器,服务器端的智... 你知道吗?在科技的世界里,安卓系统可是个超级明星呢!它不仅仅是个手机操作系统,竟然还能成为服务器的得...
pc电脑安卓系统下载软件,轻松... 你有没有想过,你的PC电脑上安装了安卓系统,是不是瞬间觉得世界都大不一样了呢?没错,就是那种“一机在...
电影院购票系统安卓,便捷观影新... 你有没有想过,在繁忙的生活中,一部好电影就像是一剂强心针,能瞬间让你放松心情?而我今天要和你分享的,...
安卓系统可以写程序? 你有没有想过,安卓系统竟然也能写程序呢?没错,你没听错!这个我们日常使用的智能手机操作系统,竟然有着...
安卓系统架构书籍推荐,权威书籍... 你有没有想过,想要深入了解安卓系统架构,却不知道从何下手?别急,今天我就要给你推荐几本超级实用的书籍...
安卓系统看到的炸弹,技术解析与... 安卓系统看到的炸弹——揭秘手机中的隐形威胁在数字化时代,智能手机已经成为我们生活中不可或缺的一部分。...
鸿蒙系统有安卓文件,畅享多平台... 你知道吗?最近在科技圈里,有个大新闻可是闹得沸沸扬扬的,那就是鸿蒙系统竟然有了安卓文件!是不是觉得有...
宝马安卓车机系统切换,驾驭未来... 你有没有发现,现在的汽车越来越智能了?尤其是那些豪华品牌,比如宝马,它们的内饰里那个大屏幕,简直就像...
p30退回安卓系统 你有没有听说最近P30的用户们都在忙活一件大事?没错,就是他们的手机要退回安卓系统啦!这可不是一个简...
oppoa57安卓原生系统,原... 你有没有发现,最近OPPO A57这款手机在安卓原生系统上的表现真是让人眼前一亮呢?今天,就让我带你...
安卓系统输入法联想,安卓系统输... 你有没有发现,手机上的输入法真的是个神奇的小助手呢?尤其是安卓系统的输入法,简直就是智能生活的点睛之...
怎么进入安卓刷机系统,安卓刷机... 亲爱的手机控们,你是否曾对安卓手机的刷机系统充满好奇?想要解锁手机潜能,体验全新的系统魅力?别急,今...
安卓系统程序有病毒 你知道吗?在这个数字化时代,手机已经成了我们生活中不可或缺的好伙伴。但是,你知道吗?即使是安卓系统,...
奥迪中控安卓系统下载,畅享智能... 你有没有发现,现在汽车的中控系统越来越智能了?尤其是奥迪这种豪华品牌,他们的中控系统简直就是科技与艺...