建立一个文件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 ) ];
