我尝试使用 matlab 语言进行和弦钢琴检测。我能够识别每个单音音符,并且我想通过使用字符串比较来显示结果,所以我制作了这样的代码
function akor=readChord(notes) %notes is input String data type
a1={'A' 'C#/Db' 'E'};
b1={'B' 'D' 'F#/Gb'};
c1={'C' 'E' 'G'};
d1={'D' 'F#/Gb' 'A'};
e1={'E' 'G#/Ab' 'B'};
f1={'F' 'A' 'C'};
g1={'G' 'A#/Bb' 'D'};
%Chord Minor
a2={'A' 'C' 'E'};
b2={'B' 'D' 'F#/Gb'};
c2={'C' 'D#/Eb' 'G'};
d2={'D' 'F' 'A'};
e2={'E' 'G' 'B'};
f2={'F' 'G#/Ab' 'C'};
g2={'G' 'A#/Bb' 'D'};
a=notes(3,:)
if v=isempty(setxor(a,a1))==1;
display('Chord A mayor')
elseif v = isempty(setxor(a,b1))==1;
display('Chord B')
elseif v = isempty(setxor(a,c1))==1;
display('Chord C mayor')
elseif v = isempty(setxor(a,d1))==1;
display('Chord D mayor')
elseif v = isempty(setxor(a,e1))==1;
display('Chord E mayor')
elseif v = isempty(setxor(a,f1)==1;
display('Chord F mayor')
elseif v = v = isempty(setxor(a,g1)==1;
display('Chord G mayor')
elseif v = isempty(setxor(a,a2))==1;
display('Chord A minor')
elseif v = isempty(setxor(a,b2))==1;
display('Chord B')
elseif v = isempty(setxor(a,c2))==1;
display('Chord C minor')
elseif v = isempty(setxor(a,d2))==1;
display('Chord D minor')
elseif v = isempty(setxor(a,e2))==1;
display('Chord E minor')
elseif v = isempty(setxor(a,f2)==1;
display('Chord F minor')
elseif v = isempty(setxor(a,g2)==1;
display('Chord G minor')
else
display('not Detect')
end
但看起来我有错误错误:文件:bacagambar.m 行:18 列:9 等号左侧的表达式不是赋值的有效目标。任何人都知道我应该做什么