Hilfe zur Eingabe mathematischer Formeln

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hilfe zur Eingabe mathematischer Formeln

    Hallo,
    ich bin neu hier im Forum und möchte mir ein wenig XCode beibringen.
    Mit einigen Tutorials die ich im Web gefunden habe bin ich ja auch schon recht weit gekommen.
    Zur Zeit verzweifle ich allerdings an der Eingabe mathematischer Formeln die ich in XCode berechnen lassen will.

    Anbei die Formeln als JPG,die ich gerne berechnen würde, da ich nicht weiß wie ich sie hier im Forum richtig eingeben könnte.

    Formel.jpg
    bzw.

    Formel 2.jpg



    Könntet ihr mir bitte dabei helfen, wie ich diese Formeln in XCode eingebe, sodass diese auch wirklich richtig berechnet werden ?

    Vielen Dank,
    Wolfgang
  • Woran scheitert es denn? Wenn Du die Variablen mit einem geeigneten Datentyp definierst und die Operatoren - z. B. für die Quadratur - kennst, kann eigentlich nix schief gehen.

    Aber Xcode ist kein Taschenrechner, sondern eine Entwicklungsumgebung. Du müsstest uns schon genauer sagen, was Du erreichen möchtest und wo das Problem liegt...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Zur Zeit spiele ich, für den Anfang, eigentlich nur in Xcode mit einem Playground herum, um zu lernen wie ich am besten mit Formeln umgehen kann.
    Es scheitert einfach an der richtigen Eingabe der Formel, sodass sie auch richtig berechnet wird.

    Das hier sind meine Variablen, ich denke ich habe sie mit "Double" richtig erstellt ??
    Mit diesen Variablen soll die zweite oben genannte Formel berechnet werden.

    Irgendwie komme ich aber nich auf das richtige Ergebnis leider.


    var f = Double(50) ( in mm) <- nicht in der var enthalten!


    var d = Double(5) (in m) <- nicht in der var enthalten!


    var F = Double(4) (hat keine Bemaßung)


    var c = Double(0.03) (in mm) <- nicht in der var enthalten!
  • Naja, Du kannst die einzelnen Rechenschritte natürlich in eine Formel zusammenfassen (solange Du keine Fallunterscheidung benötigst).

    Inwieweit das „einfacher“ oder eher besser nachvollziehbar ist, bleibt Dir überlassen. Ich codiere immer lieber Einzelschritte: Das hilft mir Monate später beim Wieder-hinein-Denken und ist leichter zu debuggen...

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Naja, Du kannst die einzelnen Rechenschritte natürlich in eine Formel zusammenfassen (solange Du keine Fallunterscheidung benötigst).

    Inwieweit das „einfacher“ oder eher besser nachvollziehbar ist, bleibt Dir überlassen. Ich codiere immer lieber Einzelschritte: Das hilft mir Monate später beim Wieder-hinein-Denken und ist leichter zu debuggen...

    Mattes
    Hmm, so weit bin ich noch nicht, werde mir das aber genauer ansehen
    Zur Zeit habe ich den Code so umgeschrieben, damit ich mich fürs erste auskenne und alles in Metern ausgegeben wird.

    Das nächste Problem an dem ich arbeite ist, dass alle Ergebnisse mit zwei Kommastellen ausgegeben werden anstatt mit fünfzehn.
    Hast Du da vielleicht einen Tipp wie ich das machen kann ?

    Siehe:

    Quellcode

    1. //Brennweite
    2. var f = Double(50)
    3. var f2 = Double(f * f)
    4. //Entfernung
    5. var d = Double(5) * 1000
    6. var d2 = Double(d * d)
    7. //Blende
    8. var F = Double(4)
    9. //Streuungskreis
    10. var c = Double(0.03)
    11. // Fernpunkt in Meter
    12. var tv = (c * F * d2 / (f2 - c * F * d) + d) / 1000
    13. // Nahpunkt in Meter
    14. var th = ((c * F * d2 / (f2 + c * F * d) - d) * -1) / 1000
    15. // Totale Tiefenschärfe in Meter
    16. var Ts = tv - th
    17. // Hyperfokale Distanz
    18. var Hd = (f2 / (c * F)) / 1000
    19. // Naheinstellgrenze
    20. var NeG = Hd / 2
    Alles anzeigen




    torquato schrieb:

    WolfgangN schrieb:

    ein wenig einfacher
    Das Double() kannst Du Dir hier ersparen. Statt

    Quellcode

    1. var f = Double(60)
    2. var f2 = Double(f * f)
    also

    Quellcode

    1. var f = 60.0
    2. var f2 = f * f
    Dabei bekomme ich eine Fehlermeldung "Binary operator ´/´cannot be applied to operand of type 'Int' and 'double'"
  • WolfgangN schrieb:

    Das nächste Problem an dem ich arbeite ist, dass alle Ergebnisse mit zwei Kommastellen ausgegeben werden anstatt mit fünfzehn.
    Hast Du da vielleicht einen Tipp wie ich das machen kann ?
    Ich kann Dir nicht konkret in Swift weiterhelfen, aber:
    1. An Deiner Stelle würde ich den Spielplatz verlassen und ein "echtes" Projekt beginnen :D ... gerne auch nur eine einfache Single-View-Anwendung: Du beschäftigst Dich sonst mit einer Sackgasse und den wirklichen Charme bekommt Dein Rechner doch erst, wenn Du ihn als App auf dem Device nutzen kannst, oder?
    2. Wenn Du Werte nur einfach formatieren möchtest, helfen Dir die printf-Formatierungen von NSString weiter. Bei komplexeren Ansprüchen - z. B. Dezimalzeichen, Tausendertrennung etc. - solltest Du Dir die Klasse NSFormatter anschauen.
    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • WolfgangN schrieb:

    Dabei bekomme ich eine Fehlermeldung "Binary operator ´/´cannot be applied to operand of type 'Int' and 'double'"

    Nein, außer Dir ist der Unterschied zwischen 1000 und 1000.0 und Type-Inference nicht klar, und machst dann Murks. Hast Du schon mal versucht, diese Fehlermeldung zu __verstehen__!?

    PS: Fachlich korrekt hieße es ja übrigens auch 'Schärfentiefe' und nicht 'Tiefenschärfe'… ;)
    Das iPhone sagt: "Zum Antworten streichen". Wie? Echt Jetzt? Muß ich erst die Wohnung streichen!?
  • MyMattes schrieb:

    Ich kann Dir nicht konkret in Swift weiterhelfen, aber:
    1. An Deiner Stelle würde ich den Spielplatz verlassen und ein "echtes" Projekt beginnen :D ... gerne auch nur eine einfache Single-View-Anwendung: Du beschäftigst Dich sonst mit einer Sackgasse und den wirklichen Charme bekommt Dein Rechner doch erst, wenn Du ihn als App auf dem Device nutzen kannst, oder?
    Mattes
    Ja klar, aber so weit bin ich noch nicht, ich beschäftige mich jetzt genau drei Tage mit XCode und arbeite gerade das "App Development Curriculum DE" durch um die Sprache überhaupt zu lernen.

    torquato schrieb:

    WolfgangN schrieb:

    Dabei bekomme ich eine Fehlermeldung "Binary operator ´/´cannot be applied to operand of type 'Int' and 'double'"
    Nein, außer Dir ist der Unterschied zwischen 1000 und 1000.0 und Type-Inference nicht klar, und machst dann Murks. Hast Du schon mal versucht, diese Fehlermeldung zu __verstehen__!?
    Das ist mir zur Zeit tatsächlich noch nicht ganz klar, aber wie schon oben geschrieben, ich stehe da noch ganz am Anfgang
    Ich lasse es mir aber gerne von Dir erklären! :)