1

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

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 命令?

4

2 回答 2

4

你可以试试

Names(strcmp(Gender, 'Male'))

这导致

ans = 
    'Chris'    'John'    'Juan'
于 2013-01-31T17:42:55.267 回答
0

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

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

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

于 2013-02-01T08:35:42.070 回答