vertcat while filtering data

3 次查看(过去 30 天)
Hello all,
I am having difficulties getting to add to a matrix. I created an empty matrix named "bob". I have a 6 column matrix called "RPLIDARdata" that I want to pull the entire row out if a condition is met and put it in "bob". I want it to concatenate into the new matrix. "r" is the variable that I want to check and "i" is the iteration number in a for loop. The code I have tried goes as follows:
if r(i) > 1
RPLIDAR(i,:) = bob(i,:);
end
(Yes, I know that my first code wouldn't have worked.) it throws this error
%Index exceeds matrix dimensions.
Error in fcmclusteringandoccupancymap (line 28)
RPLIDAR(i,:) = bob(i,:);
I discovered vertcat so I entered this code in
vertcat(RPLIDARdata(i,:),bob)
I get this error
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
Error in fcmclusteringandoccupancymap (line 28)
vertcat(RPLIDARdata(i,:),bob);
Can anyone please help me with this? I would like for this to concatenate
  3 个评论
Jan
Jan 2018-5-24
编辑:Jan 2018-5-24
This looks like an iterative growing array. This is very inefficient. What is "i"? Did you read my answer? I still assume that this is easier - without a loop:
bob = data(r > 1, :)
Caleb Lindhorst
Caleb Lindhorst 2018-5-24
Sorry, Jan I didn't read it because I thought I got it figured out. I did but not as efficiently as what you have. Thank you for your help.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2018-5-23
编辑:Jan 2018-5-23
Do you mean:
bob = RPLIDAR(r > 1, :)
? If not, please post a small example of the inputs and the wanted output.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by