4

入力によって線種を変更できるようにしたいプログラムがありますが、- から - および - から - に変更するのに問題があります。「選択されたスタイルは既に使用されています」というメッセージが表示されますが、 -- 間隔を空けて -- を書かなくても、プログラムにそれらの違いを認識させるにはどうすればよいですか?

 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
4

1 に答える 1

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); 
于 2013-06-09T17:22:48.770 に答える