matlab中如何把一个向量中的每个元素与元胞数组中的每个元素比较,返回元胞数组里元素在向量中的位置。

prcoop中每个元胞数组元素在authernum的位置,形成新的与precoop对应的矩阵。矩阵中人名换成了位置信息。需用cellfun函数,需自定义函数。... prcoop中每个元胞数组元素在authernum的位置,形成新的与precoop对应的矩阵。矩阵中人名换成了位置信息。需用cellfun函数,需自定义函数。 展开
 我来答
百度网友1c6e06f
2014-03-04 · TA获得超过2894个赞
知道小有建树答主
回答量:695
采纳率:66%
帮助的人:658万
展开全部

建立一个文件shiyan1.m,然后用下面的代码测试,不知道你是不是这个意思:

function shiyan1
clc;
global a;
a = { 'ab'; 'cde'; 'fg'; 'hi'; 'kl' };
p = {  'fg;kl;cde'; 'hi;ab' };
p0 = cellfun( @subfun, p, 'UniformOutput', false );

function po = subfun( pi )
global a;
names = regexp( pi, ';', 'split' );% 把几个名字分割开来
l = length( names );
po = '';
for i = 1 : l - 1
    % 搜索pi每个名字在a里的位置
    index = find( cellfun( @( x ) isequal( x, names{ i } ), a, 'UniformOutput', true ) );
    po = [ po, num2str( index ), ';' ];
end
index = find( cellfun( @( x ) isequal( x, names{ l } ), a, 'UniformOutput', true ) );
po = [ po, num2str( index ) ];

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式