How to Remove Elements in a Matrix Less than a Threshold?
古いコメントを表示
Hi,
I have a 3000 x 3000 matrix and want to remove all elements inside the matrix that are less than a specific value, .5 for example.
How would I go about this?
Here's what I have so far but it doesn't seem to work:
function y = highestValues(a,b)
% a is the matrix
% b is the threshold value
[sortedValues,~] = sort(a,1,'descend');
exclude = sortedValues < b;
sortedValues(exclude) = [];
highestValue = sortedValues;
clearvars n sortedValues;
y = highestValue;
Thank you!
採用された回答
その他の回答 (1 件)
Mohiuddin Ahmed
2012 年 9 月 26 日
I have a matrix like this : X =
5.1000 3.5000
4.9000 3.0000
4.7000 3.2000
4.6000 3.1000
5.0000 3.6000
5.4000 3.9000
4.6000 3.4000
5.0000 3.4000
4.4000 2.9000
4.9000 3.1000
I would like to delete an element from the matrix. how can I do that ?
3 件のコメント
Image Analyst
2012 年 9 月 26 日
You can't because the matrix would no longer be rectangular if you deleted just one element. You need to delete a whole row or whole column.
X(rowToDelete,:) = []; X(:, columnToDelete) = [];
Mohiuddin Ahmed
2012 年 10 月 31 日
well, if I want to delete an entire row from the matrix X? How can I do that ?
Marco Noll
2018 年 3 月 20 日
%lets assume we have some time
%and measurement data and want
%to remove any data that is out of range
%create some sample matrix
c= [1:6;100:105]
%create a mask matrix with all 1 where criteria matches
mask = c>102 & c<105
%use the second row of the mask to remove the data columns
c(:,mask(2,:))
%should work the same when transposing it
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!