How to delete a column with a specific value

4 次查看(过去 30 天)
In my case i would like to delete specific columns where for example the minimum value is 2e11;
This code below doesn't work, i get this error: Matrix index is out of range for deletion.
Error in reactionforce_script (line 16) reactionforce(reactionforce(2:end,:) < thresholdmin | reactionforce(2:end,:) > thresholdmax, :) = []
code :
load ('Y:\Spoormodel\06\reactionforce2.mat');
%reactionforce2 = removevars(reactionforce, 3:2:end);
reactionforce2 = reactionforce;
reactionforce(4:2:end,:) = [];
reactionforce(:,3:2:end) = [];
%reactionforce(:,35:end) = []; %verwijderen van kolommen zonder waarde
reactionforce(1,:) = [];
reactionforce = table2array(reactionforce);
% thresholdmin = 2e11;
% thresholdmax = 2e30;
% reactionforce(reactionforce(2:end,:) < thresholdmin | reactionforce(2:end,:) > thresholdmax, :) = []
%
reactionforce = array2table(reactionforce);
time = table2array(reactionforce(2:end,1));
data = reactionforce(2:end,2:end);
data = table2array(data(1:end,1:end));
plot (time,data);

采纳的回答

Guillaume
Guillaume 2018-11-5
Error in reactionforce_script (line 16)
reactionforce(reactionforce(2:end,:) < thresholdmin | reactionforce(2:end,:) > thresholdmax, :) = []
Well, yes that line is never going to work. If that line is meant to delete all rows for which any value in any columns but the first is outside the boundary, then:
reactionforce(any(reactionforce(2:end,:) < thresholdmin | reactionforce(2:end,:) > thresholdmax), :) = [];
  6 个评论
Jesse
Jesse 2018-11-7
Thanks for your help and excellent explanation, this is solving my problem.

请先登录,再进行评论。

更多回答(1 个)

Jesse
Jesse 2018-11-5
This is my file

类别

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

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by