WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

shannon code

 

gracedivine
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 26.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2013, 09:39     Titel: shannon code
  Antworten mit Zitat      
hallo Leute
ich brauche Hilfe, kann jemand mir helfen
ich will diese for schleife in gui ausgeben
Code:
for i = 1:n
for j= 1:k(i)
output (j)=d(i,j)
end
disp(output)
end


ich will diese for schleife mit set(handles) im gui ausgeben
wenn ich zum beispiel n= 8 eingebe , dann habe ich 8 ausgabefelder.
vielen dank für eure Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 26.03.2013, 11:07     Titel:
  Antworten mit Zitat      
du willst dass der Nutzer "n=8" in die GUI eintippt?
Welche GUI?
Was hat das mit Programmierung zu tun?
Warum 8??
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
gracedivine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 26.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2013, 11:19     Titel:
  Antworten mit Zitat      
hi Andi
vielen dank für deine antwort. und sorry ich glaube ich habe mien problem nicht gur erkärt. also ich habe ein gui oberfläche, an Anfang muss du die anzahl n von Zeichen wählen, und n<= 10 . und wenn du n wähst , dann hast du entsprechen so viele eingabefelden.zum beispiel wenn ich n = 2 wähle , dann habe ich zwei boxes frei wo ich meine wahrscheinlichkeit eingeben kann. und mein code muss diese whrscheinlichkeit in binär kodieren.
ich habe ein problem mit diese for schleife. die funktioniert in matlab, aber ich will es in die ausgabefelder in mein gui kriegen. danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 26.03.2013, 11:56     Titel:
  Antworten mit Zitat      
output ist doch eine Matrix, die kann man sicher einem Textfeld oder so zuweisen.
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
gracedivine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 26.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2013, 12:07     Titel:
  Antworten mit Zitat      
und wie? das ist die frage
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.03.2013, 13:03     Titel:
  Antworten mit Zitat      
Hallo gracedivine,

Ich verstehe die Frage noch nicht.

Du hast also ein GUI. Hast Du es mit GUIDE oder per Programm erstellt?
Nun muss man die Zahl n<=10 wählen. Gehört das noch zum Problem, oder ist das schon gelöst?
Jetzt benötigst Du n "Eingabe-Felder". Dann würde ich 10 Eingabefelder erstellen und nur die ersten n auf "Visible"="on" oder "Enable"="on" stellen.

Zitat:
mein code muss diese whrscheinlichkeit in binär kodieren.

Was bedeutet dies?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
gracedivine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 26.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2013, 13:18     Titel:
  Antworten mit Zitat      
hallo Jan
fast alles ist schon gelöst, die gui habe ich mit guide erstellt. die Aufgabe von mein programm ist die wahrscheinlichkeit in binär zu kodieren . und mit n funktioniert alles. ich wollte nur ein bischen erklären wie das programm funktionniert, am Anfang ist gefragt wie viele n(anzahl der wahrscheinlichkeit du brauchst). wenn du zum beispiel n = 3 wählst ,dann sind 3 eingabefelder frei, wo du die wahrcheinlichkeit von X1 X2 X3 eingeben kannst. diese wahrscheinlichkeit müssen kodiert werden
beispeil n = 3
X1 = 0.6 X2 = 0.3 X3 = 0.1
ausgabe X1 = 00 X2 = 01 X3 = 001

hier ist eine for schleife ;die ich geschrieben habe
Code:
for i = 1:n
for j= 1:k(i)
output (j)=d(i,j)
end
disp(output)
end


ich will diese in gui ausgeben lassen,

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.03.2013, 17:36     Titel:
  Antworten mit Zitat      
Liebe Forums-User,

Dies ist ein Matlab-Forum und alle Matlab-betreffenden Fragen werden hier beantwortet. Wenn ein falsches Unterforum gewählt wurde, kann man gerne einen Moderator oder den Admin fragen, ob ein Thema verschoben werden sollte.

Meinungen über andere Personen sind hier dann wichtig, wenn sie helfen, die Fragen zu lösen.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
Gesplittet: 26.03.2013, 17:41 Uhr von Jan S
Von Beitrag shannon code aus dem Forum Programmierung
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 26.03.2013, 17:52     Titel:
  Antworten mit Zitat      
Hallo gracedivine,

Welche Felder hast Du denn zur Verfügung? Kannst Du den handles-Struct bereits aus dem programm zur Ausgabe der Werte erhalten? Wie heißen die entsprechenden Felder im handles-Struct?

Code:
for i = 1:n
  output = d(i,1:k(i));   % Ohne Schleife
  set(handles.(sprintf('Edit%d', i)), 'String', sprintf('%d', output));
end

Hier wird nun in die Felder handles.Edit1 bis handles.Edit... ein String geschrieben. Hilft das bereits?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
gracedivine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 26.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2013, 23:36     Titel:
  Antworten mit Zitat      
hi Jan
danke für deine Hilfe. ich habe auch fast so wie du geschrieben.
Code:
for i = 1:n
  output = d(i,1:k(i));  
  set(handles.edit1, 'String', num2str( output));
end

aber was schreibe ich für die andere felder(von edit1 bis edit10)
ich habe probiert so zu schreiben
Code:
set(handles.edit1, 'String', num2str( output(1)));
 set(handles.edit2, 'String', num2str( output(2)));
 set(handles.edit2, 'String', num2str( output(3)));

aber das funktioniert nicht, hast du vieleicht eine idee , wie ich eine value für jede felder zuweisen kann. Vielen dank im voraus

[Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 27.03.2013, 11:59     Titel:
  Antworten mit Zitat      
Hallo gracedivine,

Bitte benutze die Code-Umgebung für Code. Code mit der Maus markieren, dann auf den "Code"-Button klicken, fertig. Danke!

Mein Code-Beispiel sieht genau in dem Punkt, den Du jetzt nachfragst, anders aus als Dein Code:
Code:
for i = 1:n
  output = d(i,1:k(i));
  % set(handles.edit1, 'String', num2str( output));   % Statt dessen:
  set(handles.(sprintf('edit%d', i)), 'String', sprintf('%d', output));
end

Hier wird also automatisch "handles.edit1", "handles.edit2", ... eingefügt. Löst das Dein Problem? Wenn nicht, was bleibt noch zu ändern?

Code:
set(handles.edit2, 'String', num2str( output(3)))

Dies setzt das "edit2" Feld auf das 3. Elemenet von "output". "output" ist ein Vektor aus Einsen und Nullen. Wenn ich Dich richtig verstehe, möchtest Du etwas wie '010' und '11' in den Feldern stehen haben, genau erklärt hast Du das aber noch nicht. "num2str(output(3))" würde aber das 3. Element als einzelnen Buchstaben zurückgeben. Ist das gewünscht? Wenn nicht, bleibe bitte bei meinem geposteten Beispiel-Code, da er das Problem bereits löst und ich ihn nicht nochmal posten will.

"Es funktioniert nicht" ist immer eine frustrierende Aussage in einem Forum: Man weiß, das es ein Problem gibt, kann aber nicht helfen, da kein Detail des Problems mitgeteilt wird. Wenn Du stattdessen die Fehlermeldung postest, müssen wir keine Zeit opfern, entweder das Problem zu erraten oder nachzufragen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
gracedivine
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 26.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.03.2013, 12:19     Titel:
  Antworten mit Zitat      
hi Jan
vielen dank für deine Hilfe, das problem ist gelöst, aber jetzt habe ich folgende probleme. ich habe 10 eingafelder(von edit 1 bis 10) und 10 ausgabefelder (von 11 bis 20) mit
Code:
set(handles.(sprintf('edit%d', i)), 'String', sprintf('%d', output));
das funktionier aber die eingabewerten sind danach gelöst. die ausgabewerten stehen in eingabefelder und , die ausgabefeldern sind leer. Vielen dank, und es tut mir leid für <<das funktioniert nicht>>
Private Nachricht senden Benutzer-Profile anzeigen
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 30.03.2013, 03:21     Titel:
  Antworten mit Zitat      
hö?
wo ist mein Beitrag hin verschwunden?

[Jan: PN gesendet]
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.