Simple if statement question

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 日

0 投票

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 日

0 投票

Thanks very much! Yes I figured I was inventing a few things when doing that haha

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

JP
2013 年 6 月 19 日

Community Treasure Hunt

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

Start Hunting!

Translated by