更改线型时,Matlab在--和-之间有所不同

更改线型时,Matlab在--和-之间有所不同,matlab,string-comparison,Matlab,String Comparison,我有一个程序,我想通过一个输入改变线型,但是我在从-到-和从-到-时遇到了一些问题。它给出了“choosen风格已经被使用”的信息,我怎样才能让程序看到它们之间的区别,而不必写--spaced like-- style=input('Give new style ( :, --, -., -): ','s'); h(id) = plot_handles(id); if get(h(id), 'LineStyle')==(style) disp('The choosen style

我有一个程序,我想通过一个输入改变线型,但是我在从-到-和从-到-时遇到了一些问题。它给出了“choosen风格已经被使用”的信息,我怎样才能让程序看到它们之间的区别,而不必写--spaced like--

 style=input('Give new style ( :, --, -., -): ','s');
  h(id) = plot_handles(id);

if get(h(id), 'LineStyle')==(style)
    disp('The choosen style is already used!');
else
set(h(id), 'LineStyle', style); 

end

当您使用
==
时,您将得到一件一件的比较,如下所示:

'-' == '--'    
ans =    
     1     1
尝试改用
isequal

isequal('-' ,'--')
ans =
     0
我认为这应该奏效:

if isequal(get(h(id), 'LineStyle'), (style))
    disp('The choosen style is already used!');
else
set(h(id), 'LineStyle', style);