MATLAB Answers

How to include 'end' in a varibable to extract a subset of the original vector ?

2 views (last 30 days)
vector = 1:200;
%i want to extract a subset of vector
vector1 = vector(1:end-18)
%but if define a separate variable (range)
range =[1:end-18];
vector1 = vector(range);
%i got this:
Error: File: Untitled Line: 4 Column: 11
Illegal use of reserved keyword "end".
how can i define range in order to not have an error?

Accepted Answer

Stephen
Stephen on 16 Jul 2021
"... if i want to define range before the definictiion of the vector..."
You could use an anonymous function:
rng = @(v)v(1:end-18); % range is defined!
vec = 1:200;
out = rng(vec)
out = 1×182
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

More Answers (0)

Community Treasure Hunt

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

Start Hunting!