Matalb算法中常见函数

在学习多种语言后,有时候会出现相似但又不同的一些的函数,这里记录一些在学习算法中Matlab中常见的一些函数。仅做记录。


  1. cell(1,1)表达方法

目的:元胞数组,官网的cell函数

元胞数组是一种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。通过将索引括在圆括号 () 中可以引用元胞集。

C = cell(n)   

C = cell(n) 返回由空矩阵构成的 n×n 元胞数组。

C = cell(sz1,...,szN)

C = cell(sz1,...,szN) 返回由空矩阵构成的 sz1×...×szN 元胞数组,其中,sz1,...,szN 表示每个维度的大小。例如,cell(2,3) 返回一个 2×3 元胞数组。

类似于python中创建空列表的一种表示方法。

cell(1,1)运行的结果如下:

python里空列表的表示方法为:aa = [ ]

补充说明matlab中元胞数组的创建与内容读取(参考链接)

b{'abc',[1,2,3];123,'a'}

小括号():获取指定元胞的大小

b(1,2)

ans =

1×1 cell 数组

{[1 2 3]}

大括号{ }:获取指定元胞的内容

b{1,2}

ans =

1 2 3

大括号{ }+小括号():获取指定元胞的内容/获取该数组指定元素

b{1,2}(1,2)

ans =

2


  1. find 函数

目的:查找非零元素的索引和值,附上官网find函数讲解说明。

我只记录我用到的部分。

示例:i=route_k(find(route_k~=0,1,'last')) 。

函数用法讲解:

k = find(X,n,direction)(其中 direction 为 'last')查找与 X 中的非零元素对应的最后 n 个索引。direction 的默认值为 'first',即查找与非零元素对应的前 n 个索引。


  1. setxor函数

目的:设置两个数组的异或

示例:unVisit=setxor(route_k,allSet)

函数用法讲解:

C = setxor(A,B) 返回不在 A 和 B 的交集中的数据(对称差集),不包括重复项。即,setxor 返回出现在 A 或 B 中,但不是同时出现在二者中的数据。C 是有序的。

A = [5 1 3 3 3]; B = [4 1 2];

C = setxor(A,B)

结果:

C = 1×4

2 3 4 5


4.ismember函数

目的:判断数组元素是否为集数组成员

Lia = ismember(A,B) 

如果 A 中某位置的数据能在 B 中找到,Lia = ismember(A,B) 将返回一个在该位置包含逻辑值 1 (true) 的数组。数组中的其他位置将包含逻辑值 0 (false)。

[Lia,Locb] = ismember(___)

A = [5 3 4 2];

B = [2 4 4 4 6 8];

确定 A 的哪些元素同时也在 B 中。

Lia = ismember(A,B)

Lia = 1x4 logical array

0 0 1 1

A(3) 和 A(4) 可以在 B 中找到。

[Lia,Locb] = ismember(A,B)

Lia = 1x4 logical array

0 0 1 1

Locb = 1×4

0 0 2 1

A(3) 的最小索引为 B(2),A(4) 可以在 B(1) 中找到。


你可能感兴趣的:(Matlab基础,matlab,函数)