Bitbreiten Vektor darstellen < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 16:18 Mo 09.07.2012 | Autor: | bmtil |
Hiho,
ich habe ein problem.
Mein Code rechnet wunderbar die Nachbardifferenzvektoren einer Matrix aus und gibt mir die max. Differenz in jedem Vektor aus, als einen 1x451 Vektor, was voellig korrekt ist.
Leider kriege ich es nicht hin mit den Befehlen dec2bin und size aus den Vektor R, wo dezimal Zahlen stehen, die Bitbreiten fuer diese Zahlen rauszukriegen, zum Bsp. wuerde die Differenz von 500 an der Stelle 323 eine Bitbreite von 10 ergeben.
Man muss also den Vektor R, seine 451 Elemente nicht als Zahlen sondern als Bitbreiten, die diese Zahlen haben darstellen (X Achse=Bitbreite, Y Achse=Stelle in dem Vektor).
Hier ist der Code:
1: |
| 2: | Y = [mRawCh1(:, 1), mRawCh1(:, 2:end) - mRawCh1(:, 1:end - 1)];
| 3: | R=max(abs(Y));
| 4: | stem(R, 'DisplayName', 'R', 'YDataSource', 'R'); figure(gcf)
|
die Matrix mRawCh1 kann eine beliebige Random Matrix sein, mit 511x451 Elementen, alle Elemente positiv.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:31 Mi 11.07.2012 | Autor: | wieschoo |
Das Hauptproblem wird sein, dass es nicht klar ist, was du möchtest. Du hast eine Matrix [mm] $A=(a_{ij})$. [/mm] Welche Vektordifferenzen? Zeilenvektoren oder Spaltenvektoren?
So wie ich das lese nimmst du bei zwei Vektoren v1 und v2 den Eintrag der die Größte Differenz aufweist.
Wie du nun bei deinem Beispiel auf die Bitbreite 10 kommst ist auch nicht gut erklärt.
Ich bin der Meinung, dass eine besser formulierte Frage dir auch Antworten einbringen wird.
Ich würde dir z.B. auch helfen. Nur machst du es schwierig dir helfen zu lassen
|
|
|
|