php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-11-2007, 16:57
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard Häufigkeiten vergleichen

Hallo und guten Abend,

ich will folgendes machen:

Ich habe eine Tabelle, in der die Häufigkeit der Buchstaben im
Deutschen Alphabet vorkommt. Die sieht so aus:

a 6,51 %
b 1,89 %
c 3,06 %
...

Ich will jetzt aus einem Text die Häufigkeit der Buchstaben ermitteln,
das geht ja noch relativ einfach. Ich zähle einfach z.B. wie oft im String
das "b" vorkommt und berechne aus der Gesambuchstabenzahl die Häufigkeit.
Als Ergebnis hab ich dann z.B. 1.94 %

Nehmen wir jetzt an, ich weiß nicht, um welchen Buchstaben es sich handelt,
dann möchte ich zu folgendem Ergebnis kommen:

"Das Zeichen xy hat im Text eine Häufigkeit von 1,94 % - das entspricht
am ehesten dem Buchstaben "b" mit einer Abweichung von 0,05%"

Um es dann zu verfeinern, wäre noch schön,
die nahesten 3 Buchstaben auszugeben, die zu dem Ergbnis passen.

Mein Problem dabei ist eigentlich nur,
zwei _ähnliche_ Zahlen miteinander zu vergleichen,
alles andere sollte kein Problem sein.

Weiß jemand, wie das geht? Gibt es dafür eine Funktion?
Hab leider nichts passendes gefunden...

Danke schonmal,
Coni
__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
  #2 (permalink)  
Alt 05-11-2007, 17:11
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Häufigkeiten vergleichen

Zitat:
Original geschrieben von Coniaric
Hallo und guten Abend,

ich will folgendes machen:

Ich habe eine Tabelle, in der die Häufigkeit der Buchstaben im
Deutschen Alphabet vorkommt. Die sieht so aus:

a 6,51 %
b 1,89 %
c 3,06 %
...
sobald du mir erklärst, seit wann das a häufiger im alphabet vorkommt, als das b, schau ich mal den rest durch

edit: naja noch ma im ernst. ich denke (wenn du schon tabellen hast), dann lös das übern query:

Code:
select * from alphabet where haufigkeit > ermittelte_haufigkeit order by haeufigkeit asc limit 1;
__________________
**********
arkos
**********

Geändert von arkos (05-11-2007 um 17:19 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 05-11-2007, 17:17
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Haahaa.
Okay, war etwa unglücklich ausgedrückt.
Genau:
Wie häufig ein Buchstabe des deutschen Alphabets in allen Wörtern
(sprich, z.B. im Duden, in langen Texten usw.) vorkommt.

Klar, es ist ein rein statistischer Wert,
aber von irgendwas muß man ja ausgehen...

EDIT:

http://de.wikipedia.org/wiki/Buchstabenh%C3%A4ufigkeit

__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
  #4 (permalink)  
Alt 05-11-2007, 17:20
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

s. edit ...

hab erst nach deinem post editiert... oder mal wieder zu lange gebraucht
__________________
**********
arkos
**********
Mit Zitat antworten
  #5 (permalink)  
Alt 05-11-2007, 19:40
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Häufigkeiten vergleichen

Code:
select * from alphabet where haufigkeit > ermittelte_haufigkeit order by haeufigkeit asc limit 1;
Hm, danke, für eine SQL-Lösung schonmal nicht schlecht.
Aber wenn

haufigkeit1=10
haufigkeit2=15
ermittelte_haufigkeit=11

ist, dann spuckt er ja h2 aus, obwohl h1 Näher dran wäre.
Und wenn ich 3 Ergebnisse will,
dann geht das so auch nicht,
weil die Näherung ja von beiden Seiten sein kann.

Grüße,
Coni


EDIT:

Vorerst hab ich noch gar keine Tabelle, ich dachte,
es ließe sich vielleicht erstmal einfach über eine PHP-Funktion lösen, à la

naeherungsfunktion($anzahl, $haufigkeit);

Ein anderer Lösungsansatz wäre ein Schleife, in der ich
den Geringsten und den höchsten Wert durch eine FOR-Schleife in
0.01er Schritten laufen lasse und für jeden ermittelten Wert den
geringsten Abstand in eine Variable speichere - wenn es nicht
einfacher geht!


__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~

Geändert von Coniaric (05-11-2007 um 19:47 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 05-11-2007, 19:57
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du hast ein mathematisches Problem! Löse es erstmal, dann kannst du über die Umsetzung in PHP nachdenken. Wenn du dann Probleme bei der Umsetzung hast, dann poste:

1. deine mathematische Lösung
2. deine Umsetzungsprobleme
Mit Zitat antworten
  #7 (permalink)  
Alt 05-11-2007, 20:04
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
Du hast ein mathematisches Problem!

Klar, wenn es dafür keine Funktion gibt, hab ich ein mathematisches
Problem, dann hast Du recht. Darum hab ich aber gefragt!

Wenn die Antwort lautet, es gibt dafür keine Funktion,
dann werd ich mich natürlich erstmal zurückziehen und schauen,
wie die logische Lösung ist, bevor die programmiertechnische
kommt.

Aber da ich nicht alle Funktionen von PHP kenne (das sind ja schließlich
ein paar und die Suche in der Referenz hat auch nichts gebracht),
frage ich. Hätte ja durchaus sein können und ich hätte
mir viel Zeit ersparen können, das umständlich zusammenzubauen.
(So ging es mir nämlich schonmal mit preg_match und der einen
oder anderen Berechnung von DATE-TIME-Feldern)
__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
  #8 (permalink)  
Alt 05-11-2007, 20:12
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Hm, danke, für eine SQL-Lösung schonmal nicht schlecht.
Aber wenn

haufigkeit1=10
haufigkeit2=15
ermittelte_haufigkeit=11

ist, dann spuckt er ja h2 aus, obwohl h1 Näher dran wäre.
Und wenn ich 3 Ergebnisse will,
dann geht das so auch nicht,
weil die Näherung ja von beiden Seiten sein kann.
Dann nimm die Näherung von beiden Seiten:
Code:
select buchstabe, abs( häufigkeit - ermittelte_häufigkeit ) as h
from alphabet
order by h
limit 0,3
Ungetestet, gibt dir aber die 3 nahesten Buchstaben zurück.
Mit Zitat antworten
  #9 (permalink)  
Alt 05-11-2007, 20:18
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke!
Ich muß zugeben, da wär ich jetzt garnicht drauf gekommen...
werd gleich mal damit experimentieren.
__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
  #10 (permalink)  
Alt 05-11-2007, 20:23
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

höhö, da war ich aber dermaßen lahm, die zwei Postings vor mir waren da noch nicht da ^^
Nächstmal hole ich das Bier nach dem Posting
Mit Zitat antworten
  #11 (permalink)  
Alt 05-11-2007, 20:27
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
höhö, da war ich aber dermaßen lahm, die zwei Postings vor mir waren da noch nicht da ^^
Nächstmal hole ich das Bier nach dem Posting
Dennoch warst Du asp2php um einen logischen Schritt voraus! ;-)
__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
  #12 (permalink)  
Alt 05-11-2007, 20:32
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Coniaric
Dennoch warst Du asp2php um einen logischen Schritt voraus! ;-)
Nur weil du nichts mit Mathe anfangen kannst? Ich biete generell keine fertige Lösung an!
Mit Zitat antworten
  #13 (permalink)  
Alt 05-11-2007, 20:36
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich wollte ja keine fertige Lösung, nur eine Funktion, die es bereits gibt in PHP.
Ich will ja das Rad nicht neu erfinden!

Stimmt, ich kann mit Mathe nicht so viel anfangen. Allerdings ist PHP
für mich so praxisnah, daß ich da meist keine Probleme habe
und wie oben schon erwähnt, wollte ich mich eingehend damit beschäftigen,
bevor ich wieder poste. Er war aber schneller!
__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
  #14 (permalink)  
Alt 05-11-2007, 20:36
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von asp2php
Nur weil du nichts mit Mathe anfangen kannst? Ich biete generell keine fertige Lösung an!
Vielleicht mache ich das nach meinen nächsten 9000 Postings auch nicht mehr
Mit Zitat antworten
  #15 (permalink)  
Alt 05-11-2007, 20:48
Coniaric
 Registrierter Benutzer
Links : Onlinestatus : Coniaric ist offline
Registriert seit: Apr 2004
Beiträge: 324
Coniaric ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nach 10000 Postings hier muß man auch schon ganz schön blass sein... ;-)

Ist nicht negativ gemeint, ich bin ja froh, daß hier so erfahrene Programmierer rumlaufen!
__________________
Gruß, Coni
~~ codito ergo sum - ich code, also bin ich! ~~
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:10 Uhr.