MATLAB Answers

0

I can I do logical indexing on a column

Engdaw Chane さんによって質問されました 2018 年 7 月 20 日
最新アクティビティ Engdaw Chane さんによって コメントされました 2018 年 7 月 20 日
Hello everyone,
I have a column which is 840 in length. It contains value s from -12 to 12. I need only values < -8 and >8. I need to keep the length 840. I tried the following. but it says " 0x1 empty double column vector".
v = zeros (size (data)); % Pre-allocate!
v=data(data <-8 & data>8)
thank you for helping.
Chane

  0 件のコメント

サインイン to comment.

1 件の回答

Birdman
回答者: Birdman
2018 年 7 月 20 日
編集済み: Birdman
2018 年 7 月 20 日
 採用された回答

Is it possible for a value to be smaller than -8 and greater than 8 at the same time? Check your logical operator. You need OR operator instead of AND.
v=data(data <-8 | data>8)
You can not keep the length same. If you want that, fill the other values with a specific value, like zero.

  5 件のコメント

Engdaw Chane 2018 年 7 月 20 日
Birdman and Guillaume, Thank you for your swift replay. the solution works fine.I am working on a time-series data. so I need to keep the values to the month they belong. the remaining months can be zero. but how can fill the zeros?
Guillaume
2018 年 7 月 20 日
Well, if you want to replace values less than absolute 8 by 0, then:
v(abs(v) < 8) = 0;
You may want <= instead of <
Engdaw Chane 2018 年 7 月 20 日
Birdman and Guillaume, Thank you!

サインイン to comment.



Translated by