|
|
Dual-Code in dezimal zahl |
|
cano00 |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 13.02.21
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.02.2021, 18:32
Titel: Dual-Code in dezimal zahl
|
|
Hallo liebe Community von Matlab,
ich Habe noch Probleme, wie ich nur die Werte der einsen in meiner Summe betrachten kann?
Die Kovertierung soll ohne Matlab-funktionen wie z.B. bin2dec laufen
|
|
|
|
|
Mmmartina |
Forum-Meister
|
|
Beiträge: 745
|
|
|
|
Anmeldedatum: 30.10.12
|
|
|
|
Wohnort: hier
|
|
|
|
Version: R2020a
|
|
|
|
|
|
Verfasst am: 18.02.2021, 21:41
Titel:
|
|
Warum sollen denn nur die Einsen betrachtet werden? Es ändert doch nichts am Ergebnis?
Du könntest natürlich eine Abfrage einfügen. Bevor die Summe im Schritt in der for-schleife berechnet wird nachschauen, ob x(i) != 0. Nur wenn Bedingung erfüllt, dann Summe neu berechnen.
Aber ich bezweifel, dass dies irgend einen Vorteil hätte. Weder hinsichtlich Laufzeit, noch hinsichtlich Lesbarkeit oder Vereinfachung.
_________________
LG
Martina
"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
|
|
|
huhu0815 |
Forum-Century
|
|
Beiträge: 141
|
|
|
|
Anmeldedatum: 20.02.14
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2013b, R2014b, R2016b, R2018a
|
|
|
|
|
|
Verfasst am: 20.02.2021, 11:22
Titel:
|
|
Hallo,
wie Mmmartina schon geschrieben hat, kannst du in der Schleife eine Überprüfung des i-ten Elementes auf ungleich 0 machen.
Ein alternativer Weg wäre. in dem du den Binärstring mit
in einen Vektor überführst.
Jetzt könntest du mit der
pow2
Funktion dir einen Vektor erstellen, der mögliche Zahlen des Dezimalsystems hält (z.B.: 128,64,32).
pow2
kann auch mit Vektoren als Eingabeargument umgehen,
z.B.:
.
Die beiden Vektoren elementarweise multiplizieren und den Ergebnisvektor aufsummieren. Dadurch sparst du dir die Schleife und betrachtest mit der elementweisen Multiplikation nur die Einsen.
Zum Schluss solltest du dir noch überlegen, wie du mit negativen Zahlen umgehst.
_________________
Viele Grüße
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|