matlab 找到一个数组中元素在另个数组中的位置,有现成函数么

假设A是B的子集,我想找到A中元素在B中的位置,其中A中的每个元素在B中不止出现一次,有没有现成的函数,ismember或者去交集的函数好像不行,因为B中元素有很多重复的... 假设A是B的子集,我想找到A中元素在B中的位置,其中A 中的每个元素在B中不止出现一次,有没有现成的函数,ismember或者去交集的函数好像不行,因为B中元素有很多重复的 展开
 我来答
yanglei5658
推荐于2019-07-22 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:526万
展开全部

可以使用find函数,具体事例如下

clear all

close all

A=[1 2 3 4 5 4 2 1 5 6 3 1 2]

B=[1 2 3]

for i= 1:length(B)

    Q=find(A==B(i))

end

结果如下:

l7722526
2019-07-22 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3801万
展开全部
这个还真有,ismember,matlab中help的例子如下:
a=[1 2 3 4 5];
set = [5 2 4 2 8 10 12 2 16 18 20 3];
[tf, index] = ismember(a, set);
index返回a中的元素在set中出现的位置,若为0表示未找到,这个例子的结果为:
index=[0 8 12 3 1];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猴子请来的豆鄙
2019-07-23 · TA获得超过1633个赞
知道小有建树答主
回答量:538
采纳率:100%
帮助的人:14.7万
展开全部
matlab中的运算和操作是以数组为对象的。
数组又包括:数值数组、字符数组、元胞数组等。
数值数组:(1)n元数值向量(行向量与列向量)。
(2)数值矩阵。
(3)由数值矩阵构成的元胞。
几个标点符号的作用:逗号:用来分开数组中的行元素。(可用空格代替)分号:用来将矩阵中的行分开。(可用回车键代替)
冒号:相当于文字中的省略号。中括号:界定数组的首与尾。
一、数组的建立。
1.直接输入法 matlab在创立数组时以逗号或空格表示分列,分号或回车表示分行。数组开头“[”、结尾“]”。
行数组:如a=[1,2,3,8,-1]
列数组: b=[1;2;3;8;-1] 或a’
矩阵:A= [2,4,1;8:-2:4;2,4,6]
2.通过数组编辑器生成矩阵
步骤:先建立空矩阵a=[], 然后在工作空间(workspace)中点开a进入数 组编辑器,输入元素。 3.用函数创建数组
定步长生成法: x=a:t:b (t步长,省略是为1);
定数线性采样法: x=linspace(a,b,n),a与b是数组的第一个和最后一个元素,n是采样的总点数。
4.元胞数组的创建
元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。
组成元胞数组的元素可以是任何一种数据类型的量,每一个元素也可以具有不同的尺寸,每一个元素的内容也可以完全不同,元胞数组的元素叫做元胞。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式