Thread: Matlab

  1. #1
    yannick's Avatar
    Registered
    16/09/02
    Location
    Antwerpen
    Posts
    2,211
    iTrader
    6 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/2

    Matlab

    Beste,

    Ik heb een vector met getallen die ik moet coderen, de codes voor elke waarde staan in een structure

    => Struct S met fields value en code => s.value en s.code.

    Nu moet ik dus heel de vector x doorlopen en bij elk value de code in "bitvorm" in een soort van char array zetten.
    Nu is mijn vroeg of ik dit in batch kan doen of dat ik elke waarde in de vector ga moeten doorlopen met een forlus.

    Hier een simpel voorbeeld over wat ik wil doen (de echte vector is 1938 values lang btw):

    Gegevens:
    x=[ 1 2 2 2 1]

    s(1).value=1
    s(1).code='0'

    s(2).value=2
    s(2)code='1'

    codedx='01110';

    Het enigste wat ik mij dus afvraag is of ik alles in "batch" kan verwerken of dat ik vector x value per value zal moeten doorlopen .

    mvg
    Yannick Wellens
    no votes  

  2. #2
    Mr. Icecube's Avatar
    Registered
    10/12/02
    Location
    Ranst
    Posts
    669
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Bij rekenkundige operaties op een vector, kan je eenvoudig "in batch" werken.
    Als je bv op jou vector x het volgende doet: y = x.^2, krijg je:
    y = [1 4 4 4 1].

    Met meer complexe operaties, lukt het meestal niet. Dus dat zal je zelf eens moeten proberen.

    Wat echter wel kan, is werken met een lus:
    Code:
    [H,W] = size(x);
    
    for i=1:W
             de operatie op het i-de element in x
    end

    edit:
    Juist eens even iets getest in octave (opensource versie van Matlab):
    Als je niet moet werken met die structs, kan je het ook anders eenvoudig oplossen:

    Maak gewoon een vector c, waarin op de i-de positie de bijhorende gecodeerde waarde van i staat.
    Dus in jouw voorbeeld: c = [0 1]
    Nu kan je gewoon het volgende uitvoeren: y=c(x)
    Het resultaat is dan: y = [0 1 1 1 0]
    Last edited by Mr. Icecube; 23-12-2009 at 11:00.
    S.O.D - Airsoft Team http://www.sod-at.be // Facebook: SODATBe
    "Pressure makes diamonds" - Gen. Patton

    AEG's: Systema PTW CQB-R Mk18 Mod1, ICS M4 SIR ; GBB: TM 1911 MEU ; Sniper Rifle: Tanaka M700 Police Model (HPA)
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in