Simple if statement question

3 ビュー (過去 30 日間)
JP
JP 2013 年 6 月 19 日
Hi, just getting the hang of the basics of MATLAB and had a quick easy question. I have a variable defined as a string and I want to use an if statement on two parts of the string seperately.
EX.
Astr = '123456789'
if Astr(2:4,5:7) == '234','567'
x = 5
end
Of course I am hoping x = 5 would appear when I run this, but it gets an error on the 'if' line. Let me know how to accomplish this!

採用された回答

the cyclist
the cyclist 2013 年 6 月 19 日
編集済み: the cyclist 2013 年 6 月 19 日
You are pretty much inventing your own syntax here, and MATLAB won't understand that. :-)
One way to perform this test is
Astr = '123456789'
if strcmp(Astr(2:4),'234') && strcmp(Astr(5:7),'567')
x = 5;
end
The string comparison command that I used here is better than using "==" (which is more appropriate for numeric comparisons).
  1 件のコメント
lvn
lvn 2013 年 6 月 19 日
Or shorter, use strcmp(Astr([2:4,5:7]), '234567' )

サインインしてコメントする。

その他の回答 (1 件)

JP
JP 2013 年 6 月 19 日
Thanks very much! Yes I figured I was inventing a few things when doing that haha

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by