|
|
Schleife für shiftleft Operation |
|
Loecha |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.01.2009, 01:49
Titel: Schleife für shiftleft Operation
|
|
hi, ich bin noch ein newbie in diesem Gebiet und bin jetzt am verzweifeln
mein code
for x=1:250
if(Bild(x,1)==1);
while Bild(x,1)==0;
BW=bitshift(x,1)
end
end
end
zwar meldet er keine fehler, doch machen tut er auch nichts, ich weiß jetzt auch nicht warum.
das programm soll einfach bei den Zeilenweise nach der Spalte schauen und wenn dort eine 1 ist soll er 1 nach links shifte bis eine 0 kommt.
leider funktioniert es nicht
kann mir da jemand helfen oder gibt es schon einen funktion dafür?
|
|
|
|
|
dib0r |
Forum-Guru
|
|
Beiträge: 413
|
|
|
|
Anmeldedatum: 09.05.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.01.2009, 11:46
Titel:
|
|
Hallo,
da gibt es einige Fehler im Codeschnipsel. Wenn ich das richtig verstanden habe, schaust du in jeder Zeile das erste Element an. Wenn dies eine 1 ist, dann willst du in das erste Element die Zahl reinschreiben, die sich durch das bitweise Shiften ergibt, wobei um so viele Stellen geshiftet wird, wie sich 1er hintereinander in dieser Zeile befinden.
1) Die while Anweisung ist falsch. Die wird nie ausgeführt. Falls deine if-Bedingung zutrifft " Bild(x,1) == 1 ", kann die while Bedingung " Bild(x,1) == 0 " nie zutreffen.
2) Du schreibst eine Zahl nach BW. Diese Zahl wird immer 2*x betragen.
Kannst du vielleicht nochmals genau definieren was dein Code machen sollte?
MfG
|
|
|
Loecha |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 26.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.01.2009, 12:53
Titel: Schleife für shiftleft Operation
|
|
ok, ich erkläre es genauer, was ich eigentlich erreichen wollte bildlich dargestellt
1111111111101010
1111111111011010
1111111111110111
1111111111101001
1111111111011101
.....
...
das ist mein bild, natürlich geht es noch viel weiter und breiter. ich habe hier mal abgekürzt.
ich wollte jetzt draus
01010...........
011010.........
0111....
01001...
011101..
...
..
ich bekomme das shiften einfach nicht hin. sitze schon 5 studen dran.
mit dem befehl bitsll(a,k) klappt es auch nicht wie gewünscht
funktioniert irgendwie nicht
ich hoffe du kannst mir weiter helfen, bin schon am verzweifeln
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 26.01.2009, 18:23
Titel:
|
|
Hallo Loecha,
bitshift verkleinert oder vergrößert diskrete Werte.
Wenn du innerhalb der Matrix die Positionen verändern möchtest, dann passt bitshift nicht.
Versteh ich richtig, dass du so was erreichen möchtest, wie in Code-Beispiel?
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.01.2009, 16:48
Titel:
|
|
length(b) die variable b ist nicht angegeben soll das die breite des bildes oder eine neue variable
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 31.01.2009, 00:45
Titel:
|
|
Hallo,
tut mir leid, hab copy paste Fehler gemacht
sollte eigentlich so heißen:
|
|
|
Loecha |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 26.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.02.2009, 22:46
Titel: shiften nach links funktioniert noch immer nicht
|
|
das funktioniert nicht so ganz wie ich es mir erhofft habe, anstatt die zeile mit den 1111111111110001001 auf 0001001 nach links zu shiften, passiert
000000000000000000 das das er dort wo eine 1 am anfange der spalte ist er die ganze zeile mit nullern fühlt und somit die hälfte des bildes schwarz wird.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 08.02.2009, 19:47
Titel:
|
|
Hallo, das verstehe ehrlich gesagt nicht? Willst du, dass das Bild abgeschnitten wird?
|
|
|
|
|
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 - 2025
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.
|
|