Matlab在更改LineStyle之间和 - 之间不同

时间:2013-06-09 17:11:47

标签: matlab string-comparison

我有一个程序,我希望能够通过输入改变linestyle,但是我在从 - 到 - 以及从 - 到 - 更改时遇到了一些麻烦。它给出了“选择的风格已经被使用”的信息,如何让程序看到它们之间的区别,而不必写出 - 间隔的 - - ?

 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

1 个答案:

答案 0 :(得分:3)

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

'-' == '--'    
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);