我对以下陈述有疑问。当我运行代码时,它不会进入所需的条件,并且不会进行应该进行的转换。我发现的任何错误?提前致谢。
clear all;
clc;
recenica=('STEFI');
i=1;
dolzina = length(recenica)
while i<=length(dolzina)
prva=recenica(i);
vtora=recenica(i+1);
if recenica(i)==('P' | 'M' | ' ')
prva='B';
end
if recenica(i)==('U')
prva='O';
end
if recenica(i)==('V')
prva='F';
end
if recenica(i)==('G' | 'X' | 'Y' | 'J' | 'I')
prva='K';
end
if recenica(i)==('L' | 'T' | 'D' | '3' | '2')
prva='N';
end
if recenica(i)==('Z' | '1' | 'C')
prva='S';
end
if recenica(i)==('5' | 'Q' | '4')
prva='6';
end
if recenica(i)==('R')
prva='H';
end
if recenica(i+1)==('P' | 'M' | ' ')
vtora='B';
end
if recenica(i+1)==('U')
vtora='O';
end
if recenica(i+1)==('V')
vtora='F';
end
if recenica(i+1)==('G' | 'X' | 'Y' | 'J' | 'I')
vtora='K';
end
if recenica(i+1)==('L' | 'T' | 'D' | '3' | '2')
vtora='N';
end
if recenica(i+1)==('Z' | '1' | 'C')
vtora='S';
end
if recenica(i+1)==('5' | 'Q' | '4')
vtora='6';
end
if recenica(i+1)==('R')
vtora='H';
end
a=strcat(prva,'.jpg');
b=strcat(vtora,'.jpg');
generiranje=Test3(a,b);
i=i+1;
end
答案 0 :(得分:0)
您的MATLAB IF语法看起来很奇怪:
你的意思是
if recenica(i)==('P' | 'M' | ' ')
代码:
if (recenica(i)=='P') || (recenica(i)=='M') || (recenica(i)==' ')
您可能还想使用开关/案例结构:
类似的东西:
switch recenica(i)
case {'P','M', ' '}
end