AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Logarithmus Log zu Delphi

Ein Thema von EWeiss · begonnen am 20. Mär 2019 · letzter Beitrag vom 20. Mär 2019
Antwort Antwort
Seite 3 von 3     123   
EWeiss
(Gast)

n/a Beiträge
 
#21

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 10:09
IfThen(FView = 0, (4096 * mGain), 1) / FFFTSize;
Sorry aber das funktioniert nicht weil IFThen so nicht ausgelegt ist.
Zitat:
[DCC Error] uSpectrum.pas(512): E2014 Statement expected, but expression of type 'Extended' found
Deshalb hatte ich meine Zeile angepasst.

gruss
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#22

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 10:20
Ok, dann gibt es keine überladene Version von IfThen für den passenden Datentypen. Schade.
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 10:53
Was passiert, wenn du deine Formel

Delphi-Quellcode:
  c := 0.0001;
  d := -ln(c);
...
  b2 := (ln(Sqrt(r * r + i * i) + c ) + d ) * q1;
Schritt für Schritt auswertest?

Also so:
Delphi-Quellcode:
  c := 0.0001;
  d := -ln(c);
...
  b := Sqrt(r * r + i * i);
  b := ln( b + c );
  b := b + d;
  b := b*q1;

Wo haut's dich da raus?


Nebenbei:
Wenn du statt d := 9.21034037197618; (als single Wert speichert Delphi 9.21034049987793) d := -ln(0.0001); verwendest, dann wird b oben für r=i=0 wie gewünscht 0 [auch wenn du dich später für "double" entscheiden solltest].

Man darf es Resultatkosmetik nennen...
Michael Gasser
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#24

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 11:07
Zitat:
Was passiert, wenn du deine Formel
Wird wohl das beste sein um den punkt für das Problem zu analysieren.
Danke für die Info.

Das nachträglich zurücksetzen ist kein Problem wenn es dann läuft.

Zitat:
Wenn du statt d := 9.21034037197618
Diese Änderung kann ich vornehmen wenn die Grund Probleme beseitigt sind.. also die abstürze.

gruss

Geändert von EWeiss (20. Mär 2019 um 11:11 Uhr)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 12:37
Step by Step solltest du rasch sehen, wo's daneben geht.


...und...
d := -ln(0.0001) und deine Konstante 9.21034037197618 (wird gespeichert als 9.21034049987793) sind - solange du alle drei als Single verwendest - gleich.
Der Absturz rührt also sicher nicht daher.
d := -ln(0.0001) spiegelt einfach den "Sinn" der Formel wieder: ¦Spektrum=0¦ muss Nullstelle sein von b(Spektrum,q1).
Michael Gasser
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#26

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 18:43
Step by Step solltest du rasch sehen, wo's daneben geht.


...und...
d := -ln(0.0001) und deine Konstante 9.21034037197618 (wird gespeichert als 9.21034049987793) sind - solange du alle drei als Single verwendest - gleich.
Der Absturz rührt also sicher nicht daher.
d := -ln(0.0001) spiegelt einfach den "Sinn" der Formel wieder: ¦Spektrum=0¦ muss Nullstelle sein von b(Spektrum,q1).
Deaktiviere ich den ganzen Kram
case 0 für die Kreis Visualisierung dann startet die Anwendung aber wird nix visualisiert.

Irgendwo da liegt der Fehler für den Kreis bei case 1 das gleiche.
Muss mich da durch steppen.

PS:
Eigentlich müsste b = 0 sein wenn kein Sound wieder gegeben wird ist aber bei weitem höher.

gruss

Geändert von EWeiss (20. Mär 2019 um 18:48 Uhr)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 23:10
Ja dann hast du irgendwo sonst ein Problem in deinem Code. Denn b

Delphi-Quellcode:
c := 0.0001;
d := -ln(c);
b := (ln(Sqrt(r * r + i * i) + c ) + d ) * q1;
ist ja genau so gebaut, dass b=0 für ¦Spektrum¦=sqrt(r*r+i*i)=0.

¦Spektrum¦=0 in b eingesetzt:

b = (ln(0+c) - ln(c))*q1 = 0*q1 = 0
Michael Gasser
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#28

AW: Logarithmus Log zu Delphi

  Alt 20. Mär 2019, 23:14
Ja dann hast du irgendwo sonst ein Problem in deinem Code. Denn b

Delphi-Quellcode:
c := 0.0001;
d := -ln(c);
b := (ln(Sqrt(r * r + i * i) + c ) + d ) * q1;
ist ja genau so gebaut, dass b=0 für ¦Spektrum¦=sqrt(r*r+i*i)=0.

¦Spektrum¦=0 in b eingesetzt:

b = (ln(0+c) - ln(c))*q1 = 0*q1 = 0
Wenn ich deine Änderungen verwende also Zeile für Zeile die Funktion debuggen will.
Bekomme ich einen Stacküberlauf.
Ich glaube das Teil ist einfach zu hoch für mich. (Mir fehlt die höhere Mathematik um die Probleme lösen zu können)

Edit
wurde zur Seite gelegt im Moment keinen Bock mehr.
Danke für die Hilfe.

gruss

Geändert von EWeiss (21. Mär 2019 um 03:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz