Mathematical operation on arrays

2 views (last 30 days)
Mohammed Lamine Mekhalfia
Mohammed Lamine Mekhalfia on 18 Aug 2021
Commented: the cyclist on 19 Aug 2021
Dear All, I hope that all are well. I have 4 column vectors, a b c and d. I would like to write a code that take a random value for the first vector a and using that value to delete each value less than it from the vectors b c and d... delete not transfer them to zeros.
I would highly appreciate your help.
  2 Comments
Mohammed Lamine Mekhalfia
Mohammed Lamine Mekhalfia on 18 Aug 2021
The values that are less than the value chosen from the first vector

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 18 Aug 2021
% Set random number seed, for reproducible results in this example
rng default
% Make up the input data
N = 7;
a = rand(N,1);
b = rand(N,1);
c = rand(N,1);
d = rand(N,1);
% Pick random value from a
a_rand = a(randi(numel(a)));
% Delete values from other vectors if they are less than a_rand
b(b<a_rand) = [];
c(c<a_rand) = [];
d(d<a_rand) = [];
% Show the sizes of the resulting vectors
size(a)
ans = 1×2
7 1
size(b)
ans = 1×2
4 1
size(c)
ans = 1×2
5 1
size(d)
ans = 1×2
5 1
  4 Comments
the cyclist
the cyclist on 19 Aug 2021
Instead of
a_rand = a(randi(numel(a)));
use
a(2)
as the value.
This is a very basic MATLAB question. You might want to watch the MATLAB Onramp tutorial to learn the basics.

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!