我有一个单元格数组{'W','L','D','D','W'}
.我想将其转换为{-1,0,1}数组,其中'W'映射为1,'D'映射为0,'L'映射为-1.
没有编写循环,有没有快速的方法来做到这一点?
您可以使用categorical
数组在单个表达式中执行此操作
double(categorical({'W','L','D','D','W'}, {'L', 'D', 'W'})) - 2
Run Code Online (Sandbox Code Playgroud)
或者对于R2013b之前的MATLAB,您可以执行两个表达式:
[~, loc] = ismember({'W','L','D','D','W'}, {'L', 'D', 'W'});
result = loc - 2;
Run Code Online (Sandbox Code Playgroud)