假设我们有以下单元格数组,用于存储参与实验的受试者的姓名和性别:
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命令?
答案 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)