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

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?

15 commentaires

p = density ([1,3,6])
Thank you @Ahmad Ali
thank you @Ahmad Ali
there is also a long way around
p=[density(1) density(3) density(6)]
p = transpose([density(1) density(3) density(6)])
just
p=density([1 3 6])
Nice 👌👌
Great
thank you
Min
Min le 14 Juil 2022
It's helpful!
Thank you
Ishaan
Ishaan le 23 Mai 2023
Modifié(e) : Ishaan le 23 Mai 2023
Could someone explain the logic behind the parenthese and the brackets. like why is it in that order and what does each mean?
@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:
Thanks Ahmad Ali

Connectez-vous pour commenter.

 Réponse acceptée

If you have a density array (d), then to extract the 1,3,6 elements:
extracted_elements=d([1,3,6]);

21 commentaires

extracted_elements=density([1,3,6])
It didn´t work
It did not work.
worked
If it doesn't try updating all the tasks first then try again.
This worked for me..
p = [density(1);density(3);density(6)]
MathWorks needs to work on this on-ramp. This was clear as mud, as they say...
Larry Spencer
Larry Spencer le 6 Juil 2021
Modifié(e) : Larry Spencer le 6 Juil 2021
Yes, I was confused too. I'm 99% sure this notation was not covered in the preceding material.
there should not be - ;
Cool, it worked
this works, but how?
k=[1 3 6]
extracted_elements=density(k)
it worked because we couldn't specify from the syntax which elements the code should extract. we solved this problem by assigning positions to vector or making them an element
thankyou
density([1 3 6])
parentheses and inside brackets was the solution all along... I have spent 30 minutes trying to figure out without looking it up. cheers David
it can be done without commas
no it can't. It only worked for me when I used commas.
@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?
shaik mohammed ali
shaik mohammed ali le 27 Mai 2024
Modifié(e) : shaik mohammed ali le 27 Mai 2024
yes its working thank you so much

Connectez-vous pour commenter.

Plus de réponses (8)

Kakasaheb Nikam
Kakasaheb Nikam le 12 Mai 2020

11 votes

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 ] );

2 commentaires

density( [ 1, 3, 6 ] )
yess this is correct

Connectez-vous pour commenter.

shaik sahil
shaik sahil le 22 Août 2020

3 votes

p=density([1,3,5])
Girish Pal
Girish Pal le 2 Sep 2020

0 votes

p = density(1), density(3), density(6)

2 commentaires

Stephen23
Stephen23 le 2 Sep 2020
Modifié(e) : Stephen23 le 2 Sep 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.

Connectez-vous pour commenter.

Jamal Ahmad
Jamal Ahmad le 19 Juin 2021

0 votes

p=density( [ 1, 3, 6 ] )
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
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
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

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by