Asked by JP
on 19 Jun 2013

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!

*No products are associated with this question.*

Answer by the cyclist
on 19 Jun 2013

Edited by the cyclist
on 19 Jun 2013

Accepted answer

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).

Opportunities for recent engineering grads.

## 0 Comments