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

1 回表示 (過去 30 日間)
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?

採用された回答

Stephen23
Stephen23 2021 年 7 月 16 日
"... 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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSemiconductors and Converters についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by