How can I extract non-consecutive indices from a vector?

280 visualizzazioni (ultimi 30 giorni)
In 5.2 Extracting Multiple Elements, Further practice "Indices can be non-consecutive numbers. Try extracting the first, third, and sixth elements of density." How?
  14 Commenti
Edward li
Edward li il 25 Ago 2023
Could someone explain the logic behind the parenthese and the brackets. like why is it in that order and what does each mean?
Voss
Voss il 19 Dic 2023
@Edward li: In this case, the parentheses are used for indexing, and the square brackets are used for array concatenation. [1,3,6] concatenates the scalars 1, 3, and 6 into a single vector, and density([1,3,6]) gets the elements of density at the indices stored in that vector.
See the Special Characters section of this page for more information:

Accedi per commentare.

Risposta accettata

David Hill
David Hill il 5 Apr 2020
If you have a density array (d), then to extract the 1,3,6 elements:
extracted_elements=d([1,3,6]);
  20 Commenti
Viktoriia
Viktoriia il 12 Lug 2023
no it can't. It only worked for me when I used commas.
Image Analyst
Image Analyst il 12 Lug 2023
@Viktoriia observe it working without commas below:
d = 10 : 10 : 60 % Sample data vector.
d = 1×6
10 20 30 40 50 60
extracted_elements = d([1 3 6]) % Get only some of the elements
extracted_elements = 1×3
10 30 60
If you execute that code on your computer what do you see? If you executed different code than above, without commas, then what was that code?

Accedi per commentare.

Più risposte (8)

Kakasaheb Nikam
Kakasaheb Nikam il 12 Mag 2020
density(3)
% extract third element
when we use [ ] square bracket, it extracting specific index position values.
so answer is
extracted_elements = density( [ 1, 3, 6 ] );

shaik sahil
shaik sahil il 22 Ago 2020
p=density([1,3,5])

Diogo Teixeira Fernandes
Diogo Teixeira Fernandes il 28 Set 2021
extracted_elements=density([1,3,6])
it worked for me

Girish Pal
Girish Pal il 2 Set 2020
p = density(1), density(3), density(6)
  2 Commenti
Stephen23
Stephen23 il 2 Set 2020
Modificato: Stephen23 il 2 Set 2020
While this does literally what the question requests "...extract non-consecutive indices from a vector", it only assigns the first of the comma-separated list to p, which is unlikely to give the desired effect, nor is it likely to be what the homework task requires.

Accedi per commentare.


Jamal Ahmad
Jamal Ahmad il 19 Giu 2021
p=density( [ 1, 3, 6 ] )

Harish Mirji
Harish Mirji il 14 Feb 2022
density = [5 8 9 7 8 4 5 9 8 7]
density = 1×10
5 8 9 7 8 4 5 9 8 7
p = density([1 3 5])
p = 1×3
5 9 8

Ahmed
Ahmed il 7 Mar 2024 alle 18:07
Extracting Multiple Elements
Instructions are in the task pane to the left. Complete and submit each task one at a time.
This code sets up the activity.
data = [3 0.53 4.0753 NaN;18 1.78 6.6678 2.1328;19 0.86 1.5177 3.6852;20 1.6 3.6375 8.5389;21 3 4.7243 10.157;23 6.11 9.0698 2.8739;38 2.54 5.30023 4.4508]
data = 7×4
3.0000 0.5300 4.0753 NaN 18.0000 1.7800 6.6678 2.1328 19.0000 0.8600 1.5177 3.6852 20.0000 1.6000 3.6375 8.5389 21.0000 3.0000 4.7243 10.1570 23.0000 6.1100 9.0698 2.8739 38.0000 2.5400 5.3002 4.4508
density = data(:,2)
density = 7×1
0.5300 1.7800 0.8600 1.6000 3.0000 6.1100 2.5400
x = density([1,3,6])
x = 3×1
0.5300 0.8600 6.1100

Parvin
Parvin il 14 Mar 2024 alle 11:33
This code sets up the activity.
data = [3 0.53 4.0753 NaN;18 1.78 6.6678 2.1328;19 0.86 1.5177 3.6852;20 1.6 3.6375 8.5389;21 3 4.7243 10.157;23 6.11 9.0698 2.8739;38 2.54 5.30023 4.4508]
data = 7×4
3.0000 0.5300 4.0753 NaN 18.0000 1.7800 6.6678 2.1328 19.0000 0.8600 1.5177 3.6852 20.0000 1.6000 3.6375 8.5389 21.0000 3.0000 4.7243 10.1570 23.0000 6.1100 9.0698 2.8739 38.0000 2.5400 5.3002 4.4508
To extract the first, third, and sixth elements of density, use [1 3 6] as an index.
density = [1 3 6]
density = 1×3
1 3 6
data(density)
ans = 1×3
3 19 23

Categorie

Scopri di più su Graphics Performance in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by