1 svar
136 visningar
Marcus N 1756
Postad: 16 feb 2022 20:23

Elementvisa operationer

Matsmats 571 – Livehjälpare
Postad: 17 feb 2022 18:06

Krångligt sätt att göra flip eller sort(a, 'descend')...  ger ett uppslag på hur man kan göra.

Man skulle kunna göra det genom att repetera sin stigande vektor och sedan skapa en annan vektor som plockar ut  rätt sampel.

Tänk t.ex. att du har den sorterade vektorn [0 1 2 3].

Repetera den 4 ggr så du får [0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3]. Du kan skapa en vektor som ser ut såhär:

[0 0 0 1   0 0 1 0    0 1 0 0    1 0 0 0]. Multiplicera den elementvis med den repeterade vektorn så får du

[0 0 0 3  0 0 2 0   0 1 0 0   0 0 0 0]. Sen gäller det att plocka ut rätt element ur den.

Det gäller också att skapa vektorn med ettor. Allt detta går att göra utan att loopa (vilket man skall undvika i MATLAB).

Svara
Close