How to use indexing to identify data in data(1, :) from points identifed in data(2,:)?

9 Ansichten (letzte 30 Tage)
Hi all,
I have a 2x17205 array (called vas_med_env; attached).
in vas_med_env(2,:) I have identified :
j= [5.8150 6.8350 7.8550 8.850]
Now I want to use j, to ''extract' data in vas_med_env(1,:) , by using indexing
my approach below:
n = length(j)-1;
vas_med_cycle = cell(n,1) ;
for i = 1:n
vas_med_cycle{i} = (vas_med_env(1, :),(vas_med_env(2, :),j(i):j(i+1))) ;
end
results in
vas_med_cycle{i} = (vas_med_env(1, :),(vas_med_env(2, :),j(i):j(i+1))) ;
Error: Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check
for mismatched delimiters.
Can you help please?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Mai 2022
You have a right-hand side expression of the form
(A, (B, C))
That has no meaning in MATLAB.
MATLAB does not define any way to create "tuples". That expression would not create a tuple in which the first element is A and the second element is a tuple in which the first element is B and the second element is C.
Perhaps you meant
vas_med_cycle{i} = {vas_med_env(1, :), {vas_med_env(2, :),j(i):j(i+1)}} ;
or perhaps you meant
vas_med_cycle{i} = [vas_med_env(1, :), vas_med_env(2, :), j(i):j(i+1)] ;
  4 Kommentare
Walter Roberson
Walter Roberson am 22 Mai 2022
I wonder if you want something closer to
idx1 = j(1):j(2)-1;
idx2 = j(2):j(3)-1;
idx3 = j(3):j(4);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by