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

>> counting "bins" für logarithm. Daten

 

stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2013, 09:45     Titel: >> counting "bins" für logarithm. Daten
  Antworten mit Zitat      
Halloo User-Gemeinde,
Halloo Admin,

ich habe leider ein kleines Problem, logarithmierte Daten, also
auch negative , wie positive , in Bins zu zuweisen.... und zu zählen ...

Ähnlich , wie es Befehl "hist" macht ....
Aber "hist" weicht halt ab, mußte ich feststellen ...

Im Anhang ist mein kleines Script-File , wo ich die Basis-Daten in Bins
zuweisen konnte ... in der For-Loop ...
Aber bei den transformierten Logarithmierten Daten bekomme ich das Indexing nicht hin ...

meine index-Variable : "k" muß integer sein ... und das geht nicht,
wenn ich folgende Bin-Conainer mit dieser Klassenbreite brauche :

-1.5 bis -1
-1 bis -0.5
....
1 bis 1.5
1.5 bis 2 ;

oder liegt der Denkfehler in Zeile , wo meine logic-Zuweisung für "sum" steht ???
Ich hoffe, ich konnte mich halbwegs verständlich ausdrücken ...
Vielleicht hat jemand ein kleinen Programmier-Tip für mich ...

Danke für Zeit & Mühen vorab....
Beste Grüße
stoxxii

Honig__LogNormal___.m
 Beschreibung:

Download
 Dateiname:  Honig__LogNormal___.m
 Dateigröße:  1.84 KB
 Heruntergeladen:  257 mal


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 23.07.2013, 11:19     Titel: Re: >> counting "bins" für logarithm. Date
  Antworten mit Zitat      
Hallo Stoxxii,

Ich verstehe die Frage nicht.
Was genau bedeutet "in Bins zuweisen"?
Was heißt "HISt weicht ab"? Wovon und wie?
Was bekommst Du beim Indexing nicht hin und was ist "Indexing" genau?
Wieso "geht es nicht", dass k einen Integer-Wert hat?
"-1.5 bis -1, -1 bis -0.5, ..." ist mehrdeutig: Zu welcher Klasse zählt -1?
In welcher Zeile steht denn die "logic-Zuweisung für "sum" "?

Wenn Du aus dem Code alles überflüssige weglässt (und das sind mehr als die Hälfte der Zeilen), ist er kompakt genug um ihn direkt im Forum zu posten. Das erspart den Lesern den Umweg über den Download.

Wenn Du das unnützliche "clear all" weglässt, kannst Du Breakpoints im Code setzen und den Debugger benutzen.

Bitte versuche Deine Frage nochmal klarer zu stellen. Konzentriere Dich dabei auf eine einzelne Frage und poste die Inputs und die gewünschten Outputs.

Wie bereits früher schon mal gesagt, würde ich alle Sätze, die "..." enthalten einfach weglassen. Das Erscheinen von "..." heißt ja immer etwas wie "oder so ähnlich" oder "weiß auch nicht so genau". Aber genau dann ist dies in einem Forum kontra-produktiv. Hier hast Du etwa 20 Sekunden Zeit, um die Leser zu motivieren eine Antwort zu schreiben. Alles überflüssige stört dabei.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2013, 10:02     Titel: > nun einfacher gefragt : Bins = Container
  Antworten mit Zitat      
Halloo Jan S.,

ich weiß , ich mach es fast nie korrekt, meine Fragen oder
Probleme hier im Forum rüber zu bringen ... sorry, entschuldigung ... Crying or Very sad

Jetzt habe ich mein Script weggelassen und reduzier mich auf die Daten-Reihe,
das sind 80 logarithmierte Daten ... einer Honigstudie aus Lehrbuch ...

Ich wollte diese 80 Daten selbst sortieren , hinein in selbst festgelegte Klassen = Bins = Container ... sagt man so nicht , in der Matlab Welt ???
Also ich wollte Histogram erzeugen, was dem entspricht , was im Lehrbuch steht und
nicht was mir der Matlab - Befehl "hist" vorkaut ... das ist wohl nicht ganz korrekt ... egal ...
Klassenbreiten :
[-1.5 -1] [-1 -0.5] [-0.5 0] .... bis ... [2 2.5]

Daher hatte ich diese komische for-loop gebastelt ... die für integer Index läuft, d.h. für die Orignal-Daten,
aber eben nicht für die logartihmierten Daten , um diese in benannte Klassen einzusortieren ...
Code:

for k = -1.5: 0.5 : 2.5
    Logbins(k) = sum((x<=k+1) & (x>k));         % Klassen , Container
end

Naja, und nun seht ihr den Schrecken, also man kann die Index-Variable k wohl nicht so schreiben ...
die muß Integer sein , aber ich brauch natürlich diese Klassen-Bin-Breiten für das Histogram ...
Also eigentlich geht es nur um eine logische zuordnung , bekomme ich nicht , daher wollte ich euch um Hilfe bitten ... Rolling Eyes

ich muß aber ehrlicherweise zugeben, daß ich zufällig eine Variante in einem englischen Forum gefunden habe ... ,
daß mit histc arbeitet ... aber genau diesen Weg / Befehl wollte ich umgehen ...
und es dickköpfig per logic mit der for-loop probieren ...

Danke für Zeit & Mühen vorab...
beste grüße
stoxxii

Honig__logData_.txt
 Beschreibung:

Download
 Dateiname:  Honig__logData_.txt
 Dateigröße:  711 Bytes
 Heruntergeladen:  266 mal
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 24.07.2013, 10:20     Titel:
  Antworten mit Zitat      
Code:
LB=-1.5;
UB=2.5;
St=0.5;

for k =1:(UB-LB)/St+1
    Logbins(k) = sum((x<=LB+k*St) & (x>LB+(k-1)*St));         % Klassen , Container
end

wie du selber schon gesehen hast müssen indizes positive integer werte sein.
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: 24.07.2013, 11:42     Titel: Re: > nun einfacher gefragt : Bins = Container
  Antworten mit Zitat      
Hallo stoxxii,

Im Ernst, probiere mal folgendes:
Tippe Deine Frage ein und dann lösche jeden Satz, der ein "..." enthält. Vermutlich ist das bereits genug. Wenn dann doch irgendein wichtiges Detail fehlt, lasse zumindest das "..." weg. Ein einzelner Punkt ist wirklich wertvoll wie Gold.

Man nennt etwas wie "-1.5: 0.5 : 2.5" auch "Intervalle". Man kann sie in FOR-Loops so verwenden:
Code:
Interval = -1.5: 0.5 : 2.5;
for k = 1:length(Interval) - 1
    Logbins(k) = sum((x <= Interval(k+1) & (x>Interval(k)));
end


Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
stoxxii

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2013, 19:32     Titel: > danke ihr beiden ... Intervalle halt
  Antworten mit Zitat      
Halloo Forummeister ,
hallo Jan S.,

dank nochmal ...
naja, manchmal fallen mir eben nicht die korrekten Fachbegriffe ein,
mir schwirren dann irgendwelche Pseudos im Kopf herum, die ich teils in engl. Scripten lese ... und nicht 1:1 übersetze ...

beste grüße
 
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.