Swift erfordert keine Umgebungskonstruktion. Wenn Sie einen Mac oder ein iPad haben, installieren Sie einfach Playgrounds und verwenden Sie es. in der Lage sein. Darüber hinaus verfügt Playgrounds über Funktionen wie ** Schrittausführung ** und ** langsame Ausführung **, und Sie können Anweisungen und während Minuten Schritt für Schritt ausführen und die Wertänderung überprüfen, wenn sie ausgeführt werden. .. Wenn Sie die ** Viewer-Funktion ** verwenden, wird der Status der Änderungen an Variablen ohne Erlaubnis als Diagramm angezeigt.
Wenn $ cosx $ von McLaughlin erweitert wird,
Es wurde ausgedrückt als. In diesem Artikel verwenden wir die Programmierung, um eine Annäherung an $ sinx $ zu finden. (Sprache ist schnell) iPad ist in Ordnung.
Die McLaughlin-Erweiterung approximiert die Funktion $ f (x) $, die vielfach unterschieden werden kann, durch die Summe der Erweiterungsformeln der Reihe der Potenzfunktionen von $ x $. In diesem Artikel wird der Wert von $ sinx $ als "sum" festgelegt und der Wert wird schrittweise zu "sum" addiert.
var sum = 0
print(sum) //0
sum += 1
print(sum) //1
Sie müssen auch eine Konstante vorbereiten, um das ungefähre $ x $ zu setzen. Zu diesem Zeitpunkt möchten wir Werte wie $ \ pi / 6 $ und $ \ pi / 3 $ als ungefähre Werte verwenden. Schreiben Sie also "import Foundation", damit $ \ pi $ verwendet werden kann.
import Foundation
var sum = 0
let x = Double.pi/2
Bereiten Sie außerdem Variablen vor, die kontinuierlich als Begriffe aktualisiert werden.
var item = x
Der erste Term ist der gleiche wie die Konstante, geben Sie also "x" ein.
Der endgültige Code sieht folgendermaßen aus:
import Foundation
var sum = 0.0 //Da int type und double type nicht hinzugefügt werden können,0.Schreiben Sie 0, um einen Doppeltyp zu erstellen.
let x = Double.pi/2
var item = x
Ich denke, es ist wichtig, mit einem kleinen Wert zu beginnen und beim Codieren mit einem konkreten Wert zu experimentieren. (Persönliche Ansicht). Auch in diesem Artikel gilt nach dieser Idee $ x = \ frac {\ pi} {2} $ bis zum zweiten Term, d. H.
Code bis zu.
import Foundation
var sum = 0.0 //Da int type und double type nicht hinzugefügt werden können,0.Schreiben Sie 0, um einen Doppeltyp zu erstellen.
let x = Double.pi/2
var item = 1
sum += 1
sum += -(x*x)/Double(2*1)
$ 1 $ wird zu sum
hinzugefügt und $ - \ frac {x ^ 2} {2!} $ Wird in der nächsten Zeile hinzugefügt.
Fügen Sie abschließend eine "print" -Anweisung hinzu, um sie mit dem wahren Wert zu vergleichen.
import Foundation
var sum = 0.0 //Da int type und double type nicht hinzugefügt werden können,0.Schreiben Sie 0, um einen Doppeltyp zu erstellen.
var x = Double.pi/2
sum += 1
sum += -(x*x*x)/Double(3*2*1)
print(sum)//Ungefährer Wert 0.9248322292886504
print(sin(Double.pi/2))//Wahrer Wert 1.0
Der Ausdruck "Double (2 * 1)" wird verwendet, um den Int-Typ in den Doule-Typ zu konvertieren. Dieser Artikel ist jedoch kein wesentlicher Bestandteil, sodass die Erklärung weggelassen wird.
Früher war der zweite Term $ - \ frac {x ^ 2} {2!} $, Aber damit muss $ x $ jedes Mal erhöht werden, wenn die Anzahl der Terme zunimmt. Fügen Sie einige Ideen hinzu, damit Sie auch dann kurz codieren können, wenn die Anzahl der Begriffe zunimmt.
import Foundation
var sum = 0.0 //Da int type und double type nicht hinzugefügt werden können,0.Schreiben Sie 0, um einen Doppeltyp zu erstellen.
let x = Double.pi/3
var item = 1
sum += item
for i in 1 ..< 3{
item *= -(x*x)/Double((2*i)*(2*i-1))
sum += item
}
print(sum)//Ungefährer Wert 0.525479753410744
print(cos(Double.pi/3))//Wahrer Wert 0.5
Es kann durch Erhöhen der Anzahl von Begriffen durch Verallgemeinern behandelt werden.
import Foundation
var sum = 0.0 //Da int type und double type nicht hinzugefügt werden können,0.Schreiben Sie 0, um einen Doppeltyp zu erstellen.
let x = Double.pi/3
var item = 1.0
sum += item
for i in 1 ..< 6{
item *= -(x*x)/Double((2*i)*(2*i-1))
sum += item
}
print(sum)//Ungefährer Wert 0.499999999639
print(cos(Double.pi/3))//Wahrer Wert 0.5
Ungefähr zum sechsten Semester
Dann ist zu erkennen, dass fast kein Fehler vorliegt.
Bei der Verallgemeinerung ist es einfacher zu verstehen, ob es tabellarisch aufgeführt ist.
Recommended Posts