Parse Error at '>' Issue

조회 수: 5 (최근 30일)
Aniket Doke
Aniket Doke 2017년 3월 23일
편집: Roger Stafford 2017년 3월 24일
I have to select (and count) particular numbers from a series. The selection should have numbers less than 900 but more than 700. I was getting a parse error at '>' with below code. There is only 1 column.
a=data(data(:,1) <900 && >700);
n=numel(a)
Please let me know how can I get through this.

답변 (4개)

Steven Lord
Steven Lord 2017년 3월 23일
You need to explicitly write what needs to be greater than 700 for the condition to be satisfied. MATLAB does not assume that you meant "data(:, 1) > 700" in that indexing expression.
  댓글 수: 2
Aniket Doke
Aniket Doke 2017년 3월 24일
The condition for <900 gives me correct answer. When I add one more constraint (>700), it gives me an error.
Roger Stafford
Roger Stafford 2017년 3월 24일
편집: Roger Stafford 2017년 3월 24일
@Aniket Doke. I think you still don’t understand. You can’t write:
A<900 & >700
That is incorrect syntax in matlab. You must write:
A<900 & A>700

댓글을 달려면 로그인하십시오.


dpb
dpb 2017년 3월 23일
I use a utility "syntactic sugar" for such purposes...
a=isinside(a,700,900);
where
function flg=isinside(x,lo,hi)
% returns T for values within range of inputs
% SYNTAX:
% [log] = isinside(x,lo,hi)
% returns T for x between lo and hi values, exclusive
flg= (x>lo) & (x<hi);
  댓글 수: 1
Aniket Doke
Aniket Doke 2017년 3월 24일
Okay. I will give it a try! Thanks!

댓글을 달려면 로그인하십시오.


Roger Stafford
Roger Stafford 2017년 3월 23일
Also you cannot use the short-circuit && on vectors, only on scalars.
  댓글 수: 1
Aniket Doke
Aniket Doke 2017년 3월 24일
Understood. Thanks!

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2017년 3월 24일
a = data(data(:,1) <900 & data(:,1) >700);
  댓글 수: 1
Aniket Doke
Aniket Doke 2017년 3월 24일
Great. I got the correct answer with this! Thanks!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Time Series Collections에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by