MATLAB - Dubbele puntnotatie
De dubbele punt(:) is een van de meest bruikbare operatoren in MATLAB. Het wordt gebruikt om vectoren, subscript-arrays te maken en op te geven voor iteraties .
Als je een rijvector wilt maken met gehele getallen van 1 tot 10, schrijf je −
Live demo1:10
MATLAB voert de instructie uit en retourneert een rijvector met de gehele getallen van 1 tot 10 −
ans = 1 2 3 4 5 6 7 8 9 10
Als u een andere verhogingswaarde dan één wilt specificeren, bijvoorbeeld −
Live demo100: -5: 50
MATLAB voert de instructie uit en geeft het volgende resultaat −
ans = 100 95 90 85 80 75 70 65 60 55 50
Laten we nog een voorbeeld nemen −
Live demo0:pi/8:pi
MATLAB voert de instructie uit en geeft het volgende resultaat −
ans = Columns 1 through 7 0 0.3927 0.7854 1.1781 1.5708 1.9635 2.3562 Columns 8 through 9 2.7489 3.1416
U kunt de dubbele puntoperator gebruiken om een vector van indices te maken om rijen, kolommen of elementen van arrays te selecteren.
De volgende tabel beschrijft het gebruik ervan voor dit doel (laten we een matrix A hebben) −
Formaat | Doel |
---|---|
A(:,j) | is de jde kolom van A. |
A(i,:) | is de e rij van A. |
A(:,:) | is de equivalente tweedimensionale array. Voor matrices is dit hetzelfde als A. |
A(j:k) | is A(j), A(j+1),...,A(k). |
A(:,j:k) | is A(:,j), A(:,j+1),...,A(:,k). |
A(:,:,k) | is de k de pagina van driedimensionale array A. |
A(i,j,k,:) | is een vector in vierdimensionale array A. De vector omvat A(i,j,k,1), A(i,j,k,2), A(i,j,k,3), en enzovoort. |
A(:) | is alle elementen van A, beschouwd als een enkele kolom. Aan de linkerkant van een toewijzingsinstructie vult A(:) A, waarbij de vorm van voorheen behouden blijft. In dit geval moet de rechterkant hetzelfde aantal elementen bevatten als A. |
Voorbeeld
Maak een scriptbestand en typ de volgende code erin −
Live demoA = [1 2 3 4; 4 5 6 7; 7 8 9 10] A(:,2) % second column of A A(:,2:3) % second and third column of A A(2:3,2:3) % second and third rows and second and third columns
Wanneer u het bestand uitvoert, wordt het volgende resultaat weergegeven −
A = 1 2 3 4 4 5 6 7 7 8 9 10 ans = 2 5 8 ans = 2 3 5 6 8 9 ans = 5 6 8 9
MATLAB