www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Mathe-Software" - Matlab Matrizendarstellung
Matlab Matrizendarstellung < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Matlab Matrizendarstellung: Prog. Umrechnung binär in Dezi
Status: (Frage) beantwortet Status 
Datum: 13:12 Di 20.11.2007
Autor: petronas

Hallo!
ALso folgendes. Ich muss ein Programm für Matlab schreiben , das mir eine Binäre Zahl in eine Dezimalzahl umrechnet. Wie das aufm Blatt funktioniert weiß ich abe rum es in Matlab umzusetzen, muss mir das Programm von der eingegebenen Binären Zahl alle Stellen erkennen, so dass ich sie mit der Bitdarstellung (2hoch0, 2hoch1, 2hoch2,....) umrechnen kann. Ich habe schon überall gesucht aber keins der zahlreichen pdf Files über Matlab kann mir da weiter helfen.
Danke schon im vorraus
Grüsse
Chris

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.


        
Bezug
Matlab Matrizendarstellung: Antwort
Status: (Antwort) fertig Status 
Datum: 02:26 Mi 21.11.2007
Autor: Martin243

Hallo,

mit fallen spontan 4 Möglichkeiten ein:
1. Du gibst deine Binärzahl direkt als Vektor ein (die billigste Lösung):
b = [1 0 0 0 1 0 1 0 1];

2. Du gibst deine Binärzahl ein, als sei sie eine Dezimalzahl und dividierst wiederholt durch 10, speicherst den Rest jeweils in einem Vektor.
b = 100010101;

3. Du gibst deine Zahl als String ein:
b = '100010101';
Hier hast du sie dann gleich als Vektor vorliegen, also leicht zu bearbeiten.

4. Du gibst deine Zahl wie bei 2. ein und wandelst sie dann in einen String um:
b = 100010101;
bstr = num2str(b);
Hier landest du wieder bei 3.

Beachte, dass 1.,3. und 4. eine andere Reihenfolge liefern als 2.


Gruß
Martin

Bezug
                
Bezug
Matlab Matrizendarstellung: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:29 Mi 21.11.2007
Autor: petronas

Hallo!
Erstmal vielen Dank für die Antwort.
Ich habe alles versucht,was du geschirben hast, schaffe es abe rnicht das ich danach von de reingegebenen Binärzahl einzelne Ziffern herrausnehmen kann. mUss abe rzugeben das ich Tip 2 nicht so ganz verstehe. Meinst du einfach eine Dezimalzahl eingeben?

Mit b(1,1) nehme ich ja die 1. stelle aus dem Vektor raus.
bei b= 1001101 wäre das ja dann 1
aber Matlab lierfert mir als Antwort immer nur die komplette Zahl b.
Nochmals Danke
Grüsse
Chris


Bezug
                        
Bezug
Matlab Matrizendarstellung: Antwort
Status: (Antwort) fertig Status 
Datum: 13:51 Mi 21.11.2007
Autor: Martin243

Hallo,

> Ich habe alles versucht,was du geschirben hast, schaffe es abe rnicht das ich danach von de reingegebenen Binärzahl einzelne Ziffern herrausnehmen kann. mUss abe rzugeben das ich Tip 2 nicht so ganz verstehe. Meinst du einfach eine Dezimalzahl eingeben?

Ja. Allerdings ist 2. die einzige Methode, bei der man die einzelnen Ziffern nicht per Index extrahieren kann. Deswegen müsstest du sie durch das Dividieren erst "analysieren" und währenddessen ein Array mit den Divisionresten füllen.

> Mit b(1,1) nehme ich ja die 1. stelle aus dem Vektor raus.
> bei b= 1001101 wäre das ja dann 1
> aber Matlab lierfert mir als Antwort immer nur die komplette Zahl b.

Wenn du es so einfach habe willst, dann schlage ich 4. (mit einer kleinen Erweiterung) vor:
bin_temp = 11001001;
b = double(num2str(bin_temp) - 48);

Dann liegen in b die einzelnen Ziffern von bin_temp als Vektor vor.


Gruß
Martin

Bezug
                                
Bezug
Matlab Matrizendarstellung: Danke!
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:15 Do 22.11.2007
Autor: petronas

Ok hat funktionert. Vielen Dank

Bezug
                                        
Bezug
Matlab Matrizendarstellung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:11 Do 22.11.2007
Autor: Martin243

Bitte schön!

Jetzt, wo du es hast, mein kürzester Weg zur Dezimaldarstellung:
bb = double(num2str(b)-48);
dec = sum(bb.*2.^(length(bb)-1:-1:0));


Gruß
Martin

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Mathe-Software"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]