matlab中如何把一个向量中的每个元素与元胞数组中的每个元素比较,返回元胞数组里元素在向量中的位置。
prcoop中每个元胞数组元素在authernum的位置,形成新的与precoop对应的矩阵。矩阵中人名换成了位置信息。需用cellfun函数,需自定义函数。...
prcoop中每个元胞数组元素在authernum的位置,形成新的与precoop对应的矩阵。矩阵中人名换成了位置信息。需用cellfun函数,需自定义函数。
展开
展开全部
建立一个文件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 ) ];
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询