Inverter vektor i matlab?

D

davyzhu

Guest
Slik invertere vektoren?

For eksempel
x = [1 2 3 4 5];
Og jeg vil y = [5 4 3 2 1];
Men Y (5:1) = x (1:5) synes ikke kan gjøre som fungerer.

Eventuelle forslag vil bli verdsatt!

Davy

 
Det er veldig enkelt.
Hvis du har en matrise x = [1 2 3 4 5]; kjøre følgende skript:

for i = 1: size (x, 2)
y (size (x, 2)-i 1) = x (i);
slutt

og du vil få y du ønsker.Funksjonen size () returnerer størrelsen på matrisen x.
Hilsen
Flo

 
Dette er hva du der å gjøre.

x = [1 2 3 4 5];
y = x (5: -1:1)

Du må studere hvordan Matlab håndterer matriser og indekser.Det
litt forskjellig fra andre standard metoder.

Fred

 
om spørsmålet "Hvorfor ikke y (5,1) = x (1,5)?"
I Matlab y (m, n) betyr at elementet i mdr rad og NTH kolonne.
dvs. hvis du har dette skriptet
x = [1 2 3 4 5];
Y (5,1) = x (1,5);

vil gi deg en vektor med én kolonne og 5 rader
y = [0
0
0
0
5]
og det vil tildele alle de gjenværende elementene til null, som vist ovenfor.
Jeg tror at du trenger et skript som den nevnt av gfloros.
eller du kan definere det exlicitly
y = [5: -1:1] som innebærer starten element er 5 og trinn er -1 til du når siste elementet som er 1.
Matlab er primært basert på matriser og vektorer, for å få mer hjelp Jeg tror Matlab komme i gang opplæringen er den beste refrence for dette emnet

 

Welcome to EDABoard.com

Sponsor

Back
Top