我想在 matlab 中将包含字母的字符串转换为 double
I want to convert a string containing letters to a double in matlab
East_Seed_1="MIA";
East_Seed_8="ATL";
for i=1:7
s=rand;
if s<MIA_prob_vs_ATL
s=1;
我想创建一个算法,给定每支球队对阵另一支球队的概率,8 个种子将决定季后赛冠军。我已经定义了包含会议种子的变量和 tickers.Is 的概率,我可以通过某种方式获得涉及种子的概率?(在这种情况下写 East_Seed_1_prob_vs_East_Seed_8)
谢谢你们,你们真棒
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'];
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
string = 'ABCADEM';
answer = [];
for i = 1 : length(letters)
indeces = strfind(string,letters(i));
for j = 1 : length(indeces)
answer(indeces(j)) = numbers(i);
end
end
doubleAnswer = str2double(sprintf('%1d',answer));
如果你希望输出给出字母的字母顺序,1 到 26,你可以这样做:
str = "ABCXYZ";
mat = char(str);
ds = double(mat) - 64
这给出了
ds = 1 2 3 24 25 26
East_Seed_1="MIA";
East_Seed_8="ATL";
for i=1:7
s=rand;
if s<MIA_prob_vs_ATL
s=1;
我想创建一个算法,给定每支球队对阵另一支球队的概率,8 个种子将决定季后赛冠军。我已经定义了包含会议种子的变量和 tickers.Is 的概率,我可以通过某种方式获得涉及种子的概率?(在这种情况下写 East_Seed_1_prob_vs_East_Seed_8) 谢谢你们,你们真棒
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'];
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
string = 'ABCADEM';
answer = [];
for i = 1 : length(letters)
indeces = strfind(string,letters(i));
for j = 1 : length(indeces)
answer(indeces(j)) = numbers(i);
end
end
doubleAnswer = str2double(sprintf('%1d',answer));
如果你希望输出给出字母的字母顺序,1 到 26,你可以这样做:
str = "ABCXYZ";
mat = char(str);
ds = double(mat) - 64
这给出了
ds = 1 2 3 24 25 26