/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
matlab spørgsmål: formatering af variabel
Fra : Jake


Dato : 06-11-07 13:37

Hej,

Hvis man har et array x=[65535 16] hvordan konverteres det så til
x=[255 255 16].

Jeg vil gerne skrive array'et ned i en fil så 16-bit værdier repræsenteres
med 2 8-bit værdier.

Jeg bruger matlab 6.5 så jeg har ikke typecast-funktionen.

Tak på forhånd.




 
 
Rasmus (06-11-2007)
Kommentar
Fra : Rasmus


Dato : 06-11-07 19:15

Jeg har en Matlab 6.0, og flg. funktioner fungerer for mig. Ved ikke om
de samme fkt. er tilgængelige i 6.5.

x er dit array, og x' er det nye array

z=bitand(x(1), 65280); %Svarer til at du tager x(1) AND 0xFF00
x'(1)=bitshift(x(1), -8); %Her roteres dit maskerede tal 8 bit til højre
x'(2)=bitand(x(1), 255); %Masker de nederste 8 bit ud, dvs. x(1) AND 0xFF
x'(3)=x(2); %Går jeg ud fra. Dit eksempel er lidt kort.

x'=[x'(1), x'(2), x'(3)]

Håber det hjælper.

Mvh. Rasmus


Jake wrote:
> Hej,
>
> Hvis man har et array x=[65535 16] hvordan konverteres det så til
> x=[255 255 16].
>
> Jeg vil gerne skrive array'et ned i en fil så 16-bit værdier repræsenteres
> med 2 8-bit værdier.
>
> Jeg bruger matlab 6.5 så jeg har ikke typecast-funktionen.
>
> Tak på forhånd.
>
>
>

Rasmus (06-11-2007)
Kommentar
Fra : Rasmus


Dato : 06-11-07 19:24

Ups, fejl i linje 2:

x'(1)=bitshift(z, -8); %Her roteres dit maskerede tal 8 bit til højre

Rasmus wrote:
> Jeg har en Matlab 6.0, og flg. funktioner fungerer for mig. Ved ikke om
> de samme fkt. er tilgængelige i 6.5.
>
> x er dit array, og x' er det nye array
>
> z=bitand(x(1), 65280); %Svarer til at du tager x(1) AND 0xFF00
> x'(1)=bitshift(x(1), -8); %Her roteres dit maskerede tal 8 bit til højre
> x'(2)=bitand(x(1), 255); %Masker de nederste 8 bit ud, dvs. x(1) AND 0xFF
> x'(3)=x(2); %Går jeg ud fra. Dit eksempel er lidt kort.
>
> x'=[x'(1), x'(2), x'(3)]
>
> Håber det hjælper.
>
> Mvh. Rasmus
>
>
> Jake wrote:
>> Hej,
>>
>> Hvis man har et array x=[65535 16] hvordan konverteres det så til
>> x=[255 255 16].
>>
>> Jeg vil gerne skrive array'et ned i en fil så 16-bit værdier
>> repræsenteres
>> med 2 8-bit værdier.
>>
>> Jeg bruger matlab 6.5 så jeg har ikke typecast-funktionen.
>>
>> Tak på forhånd.
>>
>>
>>

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste