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

조회 수: 187 (최근 30일)
Ray Smith
Ray Smith 2020년 4월 5일
답변: Parvin 2024년 3월 14일
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
Edward li
Edward li 2023년 8월 25일
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 2023년 12월 19일
@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:

댓글을 달려면 로그인하십시오.

채택된 답변

David Hill
David Hill 2020년 4월 5일
If you have a density array (d), then to extract the 1,3,6 elements:
extracted_elements=d([1,3,6]);
  댓글 수: 20
Viktoriia
Viktoriia 2023년 7월 12일
no it can't. It only worked for me when I used commas.
Image Analyst
Image Analyst 2023년 7월 12일
@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?

댓글을 달려면 로그인하십시오.

추가 답변 (8개)

Kakasaheb Nikam
Kakasaheb Nikam 2020년 5월 12일
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 2020년 8월 22일
p=density([1,3,5])

Diogo Teixeira Fernandes
Diogo Teixeira Fernandes 2021년 9월 28일
extracted_elements=density([1,3,6])
it worked for me

Girish Pal
Girish Pal 2020년 9월 2일
p = density(1), density(3), density(6)
  댓글 수: 2
Stephen23
Stephen23 2020년 9월 2일
편집: Stephen23 2020년 9월 2일
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.

댓글을 달려면 로그인하십시오.


Jamal Ahmad
Jamal Ahmad 2021년 6월 19일
p=density( [ 1, 3, 6 ] )

Harish Mirji
Harish Mirji 2022년 2월 14일
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 2024년 3월 7일
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 2024년 3월 14일
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

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by