MATLAB Answers

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

2 ビュー (過去 30 日間)
giulio benedini
giulio benedini 2021 年 7 月 16 日
コメント済み: giulio benedini 2021 年 7 月 16 日
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?

採用された回答

Stephen
Stephen 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
  1 件のコメント
giulio benedini
giulio benedini 2021 年 7 月 16 日
thank you very much!

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by