Matlab Schleife < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo an Alle!
Ich soll ein Matlab-Programm schreiben, dass auf Eingabe einer natürlichen Zahl n die entsprechende Dualzahl ausgibt der Länge k.
Hier mein Programmtext:
n=input('Natürliche Zahl eingeben: ');
k=input('Länge eingeben: ');
mod(n,2);
while k>=1
i=mod(n,2);
n=floor(n/2);
k=k-1;
end
disp(mod(n,2)); disp(i)
Also das Programm läuft. Nur bei Eingabe von z.B. 2 und 6
ist ja die Dualzahl 010000 und als Ausgabe bekomme ich 0 und 0. Wie bringe ich das Programm dazu quasi für die restlichen k auch die Werte auszugeben? Bitte um Hilfe!
VG mathmetzsch
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 04:29 So 13.11.2005 | Autor: | Peter_Pein |
Hallo,
leider kenne ich mich mit matlab nicht aus. Der Grund für diese Zeilen liegt darin, dass du als Dualdarstellung der 2 mit Länge 6 [mm] $010000_2$ [/mm] angegeben hast.
Bei Stellenwertsystemen befindet sich die Einerpotenz jedoch per Konvention rechts. Es müßte also [mm] $000010_2$ [/mm] sein.
Gruß,
Peter
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:13 So 13.11.2005 | Autor: | Loddar |
Hallo mathmetzsch!
Leider konnte Dir keiner hier mit Deinem Problem vollständig in der von Dir vorgegebenen Zeit weiterhelfen.
Vielleicht hast Du ja beim nächsten Mal mehr Glück .
Gruß
Loddar
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:22 Di 15.11.2005 | Autor: | zur |
Hallo mathmetzsch
Vielleicht ist es ja schon zu spät aber ich habe da eine Antwort auf dein Problem. die Variable i wäre der Wert für die entspr. Potenz. Den überschreibst du aber solange k>= 1 ist. Mit i(k)=... funktioniert es.
Gruss zur
|
|
|
|