matlab中的strcmp函数

时间:2013-01-31 17:07:24

标签: matlab strcmp

假设我们有以下单元格数组,用于存储参与实验的受试者的姓名和性别:

Names = { 'Amy' , 'Chris' , 'John' , 'Karin' , 'Juan' };
Gender = { 'Female' , 'Male' , 'Male' , 'Female' , 'Male' };

假设该实验还测量了许多试验的响应时间。我们将此信息存储在以下矩阵中,其中每列对应一个人,每行对应于实验中的试验:

ResponseTimes = [ 2.4 2.2 2.9 2.7 2.7;
                  1.6 1.7 1.9 1.5 1.0;
                  2.1 2.2 0.9 2.5 1.9;
                  1.7 2.4 1.6 2.1 1.4 ];

如何使用strcmp函数创建一个列出所有男性名字的Matlab命令?

2 个答案:

答案 0 :(得分:4)

你可以尝试

Names(strcmp(Gender, 'Male'))

导致

ans = 
    'Chris'    'John'    'Juan'

答案 1 :(得分:0)

猜测一下,您可能还需要相应的响应时间:

idx = strcmp(Gender, 'Male');
maleNames = Names(idx);
maleResponseTimes = ResponseTimes(:,idx);

对于女性,请使用Names(~idx)ResponseTimes(:,~idx)