Eine Einführung in Scilab

  • Titel: Eine Einführung in Scilab
  • Organisation: UNI KOELN
  • Seitenzahl: 126

Skript herunterladen (PDF)

Inhalt

  • Eine Einfuhrung in Scilab
  • Bruno Pinon c
  • ScilabGrundbefehle und Funktionen Auswertung von booleschen Ausdrcken u
  • Scilab in wenigen Worten
  • Wie benutzt man diese Einfuhrung
  • Wie arbeitet man mit Scilab
  • Wo ndet man Informationen uber Scilab
  • Welchen Status rechtlich gesehen hat Scilab
  • Der Umgang mit Matrizen und Vektoren
  • Eine Matrix eingeben
  • Spezielle Matrizen und Vektoren
  • O zerosC O
  • Der Zuweisungsbefehl von Scilab sowie MatrizenAusdrucke
  • Einige elementare Beispiele fur Matrixausdrucke
  • Ac A ieye i i
  • p yx p Pext Pext
  • Potenzieren einer Matrix
  • Lsen eines linearen Gleichungssystems o
  • es wird Axb gelst o
  • Referenzieren Extrahieren Zusammenfugen von Matrizen und Vektoren
  • Information uber den Arbeitsspeicher
  • Benutzung der OnlineHilfe
  • Visualisieren eines einfachen Graphen
  • Ein Skript schreiben und ausfuhren
  • Diverse Ergnzungen a
  • Einige Kurzschreibweisen fur Matrixausdrucke
  • Diverse Bemerkungen zur Lsung linearer Gleichungssysteme o
  • Einige zustzliche MatrixGrundbefehle a
  • ui fr E n u
  • man muss erhalten
  • x x cumsumx ans
  • das Minimum wird bei y angenommen
  • ymin imin minyr imin ymin
  • x x meanx ans
  • die Mittelwerte jeder Zeile
  • Die Funktionen size und length
  • fr x Schreiben Sie ein Skript u
  • Programmieren in Scilab
  • und oder nicht
  • die Variable x muss definiert sein
  • Zunchst ein Beispiel a if x then yxelseyxend
  • Die select caseKonstruktion
  • man select case case else end
  • ganze Zahlen wurden als Gleitkommazahlen betrachtet
  • Wre ich doch schon a L T F
  • mit dieser bersetzung fertig U
  • am liebsten noch vor Beginn
  • L null L L L T F L
  • Lschen des zweiten Eintrags o
  • L Lbis L L L T F L
  • Abbildung Nummerierung der Ecken eines Wrfels u
  • Eckpunkte der Seiten
  • Einige Ausdrucke mit boolschen Vektoren und Matrizen
  • v liefert einen boolschen Vektor
  • coef coef tt xx coefm
  • Debuggen einer Funktion
  • Der Befehl break
  • Einige nutzliche Grundbefehle fur Funktionen
  • Lnge eines Bezeichners a
  • Prioritt der Operatoren a
  • Eine Funktion ist eine Scilabvariable
  • Umwandlung einer Zeichenkette in einen Scilabausdruck
  • FORTRANhnliche Ein und Ausgabe a
  • writeunittext writeunitsizeP writeunitP writeunitsizeEndpunkte writeunitEndpunkte filecloseunit
  • Schreiben Schreiben Schreiben Schreiben Schreiben Schließen
  • der der der der der der
  • Textzeile Punkteanzahl Koordinaten der Punkte Kantenanzahl Endpunkte Datei
  • und man erhielte dieses Resultat
  • Chnliche Ein und Ausgabe a
  • Hinweise zur ezienten Programmierung in Scilab
  • und man macht die Funktion so signikant schneller
  • Nun die Funktion phi die find verwendet
  • Einfuhrung in plotd
  • erzeugt einen Titel
  • plotd mit optionalen Parametern
  • Die Besselfunktionen J J y
  • J J J J J
  • Abbildung Wahl der Farbe und Legende
  • und schließlich alle mglichen Werte von frameag o
  • axesflag axesflag axesflag axesflag axesflag axesflag
  • falls der Ursprung sichtbar ist
  • noch mehr Kurven y
  • Ellipse Kreis Fehlerfunktion
  • Abbildung Ellipse Kreis und Fehlerfunktion
  • Die sinc Funktion
  • Abbildung Platzierung der Achsen mittels axesf lag
  • Varianten von plotd plotd plotd
  • Abbildung Darstellungen mit dem Parameter logag
  • xbasc plotdxy style frameflag rectnn xtitleplotd
  • Abbildung Illustration von plotd
  • Wahrscheinlichkeiten der Binomialverteilung B
  • Abbildung noch mehr Kurven
  • Anderungen des GraphikKontextes
  • Zeichnen eines Histogramms
  • Abbildung Histogramm einer Stichprobe von N verteilten Zufallszahlen
  • Abspeichern von Graphiken in mehreren Formaten
  • Abbildung die Funktion z cosxcosy
  • plotd und plotd mit Facetten
  • positive Seite für Scilab
  • negative Seite für Scilab
  • Abbildung Orientierung von Facetten in Scilab
  • Abbildung ein Tetraeder
  • Abbildung Ein verbeulter Torus
  • Abbildung MobiusBand e
  • plotd mit Interpolation der Farben
  • Abbildung Mit und ohne Interpolation der Farben
  • Schraubenlinie mit Perlen
  • Abbildung Kurve und Punkte im Raum
  • Dabei kann man leicht untergehen
  • Einige Anwendungen und Ergnzungen a
  • Basisanwendung von ode
  • Van der Pol noch einmal
  • Wert fr c i u
  • Maustaste links Mitte rechts
  • Weiteres zu ode
  • u u x u u u
  • außer bei neueren Versionen von Scilab
  • Abbildung Einige Trajektorien im Phasenraum der VanderPolGleichung
  • f t vtdt U tk
  • Erzeugen von Zufallszahlen
  • Die Funktion rand
  • laut dem was aus dem Sourcecode hervorgeht
  • Abbildung Einige Trajektorien im Phasenraum der BrusselatorGleichung
  • aber fr große N ineziente u
  • Die Funktion grand
  • Klassische Verteilungsfunktionen und ihre Inversen
  • Einfache stochastische Simulationen
  • Einfuhrung und Notation
  • a FN a a
  • dt FN a FN a FN a FN
  • Zeichnen einer empirischen Verteilungsfunktion
  • Exakte und empirische Verteilungsfunktion
  • Abbildung Exakte und empirische Normalverteilungsfunktion
  • ex so erhlt a
  • F x Fxm x F xi
  • j F xj m j m
  • Daraus erhlt man km maxkm km a
  • um Y t zu approximieren
  • Elementweise Denition eines Vektors oder einer Matrix
  • Apropos Ruckgabewerte einer Funktion
  • außer in neueren ScilabVersionen
  • Ich habe meine Funktion verndert aber a
  • Probleme mit rand
  • Komplexe und reelle Zahlen
  • ScilabGrundbefehle und Funktionen
  • Auswertung von booleschen Ausdrucken
  • x dispx end error division by zero
  • That s all Folks
  • Losungen der Ubungsaufgaben
  • A Losungen zu den Ubungen aus Kapitel
  • Losungen zu den Ubungen aus Kapitel
  • Lsungen zu den Ubungen aus Kapitel o
  • Ist der Wurfel manipuliert
  • empirische Häufigkeiten vertikale Linien und exakte Wahrscheinlichkeiten Kreuze
  • Wert von Y im Vergleich zum Fraktil
  • Abbildung A Demonstration des Tests anhand der PolyaUrne
  • function BrownscheBewegungtn sumboolsgrandndef t tsqrtn endfunction
  • zum ersten Bild dazu

Vorschau

Eine Einfuhrung in Scilab ¨

version 0.999

Bruno Pin¸on c

Institut Elie Cartan Nancy E.S.I.A.L. Universit´ Henri Poincar´ e e Email: Bruno.Pincon@iecn.u-nancy.fr ¨ Ubersetzung: Agnes Mainka, Helmut Jarausch IGPM, RWTH Aachen

´ Diese Einf¨hrung wurde urspr¨nglich f¨r die Ingenieurstudenten der E.S.I.A.L. (Ecole Sup´rieure u u u e d’Informatique et Application de Lorraine) geschrieben. Sie beschreibt nur einen kleinen Teil der M¨glicho keiten von Scilab, im Wesentlichen die Teile, die f¨r die Einf¨hrung in die Numerik, die ich unterrichte, u u gebraucht werden; dies sind: • Der Umgang mit Matrizen, Vektoren und Gleitkommazahlen • Programmieren in Scilab • einfache graphische Ausgaben • einige dazu n¨tige wichtige Funktionen (Erzeugung von ufallszahlen, L¨sung von Gleichungen, o o …) Scilab er¨ffnet viel mehr M¨glichkeiten, insbesondere in der optimalen Steuerung, der Signalverarbeitung, o o der Simulation dynamischer Systeme (mit scicos) usw. Da ich plane, diese Einf¨hrung zu vervollst¨ndigen, u a bin ich offen f¨r jederlei Bemerkungen, Vorschl¨ge und Kritik, die zu einer Verbesserung f¨hren; schicken u a u Sie mir diese bitte per Email. F¨r diese neue Auflage (ich habe dieses Skript 3 Jahre nicht mehr angefasst) habe ich im Wesentu lichen das Kapitel “Graphik” neu gemacht. Dadurch, dass einige Paragraphen an verschiedenen Stellen hinzugekommen sind, ist dieses Skript nicht mehr sehr homogen, aber es existieren mittlerweile weitere Einf¨hrungen, die Sie von der Scilab Homepage (siehe weiter unten) herunterladen k¨nnen. Diese u o Einf¨hrung bezieht sich auf Scilab Version 2.7, aber fast alle Beispiele sollten auch unter Scilab 2.6 u funktionieren.

Danke

• an Dr. Scilab, der mir oft uber seine Benutzergruppen geholfen hat ¨ • an Bertrand Guiheneuf, der mir den magischen “patch” zur Verf¨gung gestellt hat, der es mir u ¨ erm¨glichte, die Version 2.3.1 von Scilab auf meiner Linux–Maschine zu ubersetzen (die Ubersetzung o ¨ der neueren Versionen bereitet keine Probleme auf Linux) • an meine Kollegen und Freunde, St´phane Mottelet1 Antoine Grall, Christine Bernier-Katzentsev e und Didier Schmitt • eine großes Danksch¨n an Patrice Moreaux f¨r sein sorf¨ltiges Korrekturlesen und die Verbesseruno u a gen, die er mir mitgeteilt hat • an Helmut Jarausch, der diese Einf¨hrung ins Deutsche ubersetzt hat, und der mich auf einige u ¨ Fehler hingewiesen hat • und an alle Leser f¨r ihre Ermutigungen, Bemerkungen und Korrekturen u

1

Danke f¨r die PDF–“Tricks” St´phane ! u e

ii

Inhaltsverzeichnis

1 Einfuhrung ¨ 1.1 Scilab in wenigen Worten . . . . . . . . . . . . 1.2 Wie benutzt man diese Einf¨hrung? . . . . . . u 1.3 Wie arbeitet man mit Scilab? . . . . . . . . . . 1.4 Wo findet man Informationen uber Scilab? . . . ¨ 1.5 Welchen Status (rechtlich gesehen) hat Scilab? 2 Der 2.1 2.2 2.3 1 1 1 2 2 3 5 5 6 9 10 12 13 14 16 17 18 18 19 19 20 22 27 28 29 29 29 30 31 31 31 32 32 33 37 39 41 41 43 44 47 47

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

2.4 2.5 2.6 2.7 2.8

2.9

Umgang mit Matrizen und Vektoren Eine Matrix eingeben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spezielle Matrizen und Vektoren . . . . . . . . . . . . . . . . . . . . . . . . . . Der uweisungsbefehl von Scilab sowie (Matrizen–)Ausdr¨cke . . . . . . . . . . u 2.3.1 Einige elementare Beispiele f¨r Matrixausdr¨cke . . . . . . . . . . . . . u u 2.3.2 Elementweise Operationen . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 L¨sen eines linearen Gleichungssystems . . . . . . . . . . . . . . . . . . o 2.3.4 Referenzieren, Extrahieren, usammenf¨gen von Matrizen und Vektoren u Information uber den Arbeitsspeicher (*) . . . . . . . . . . . . . . . . . . . . . ¨ Benutzung der Online–Hilfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visualisieren eines einfachen Graphen . . . . . . . . . . . . . . . . . . . . . . . Ein Skript schreiben und ausf¨hren . . . . . . . . . . . . . . . . . . . . . . . . . u Diverse Erg¨nzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 2.8.1 Einige Kurzschreibweisen f¨r Matrixausdr¨cke . . . . . . . . . . . . . . u u 2.8.2 Diverse Bemerkungen zur L¨sung linearer Gleichungssysteme (*) . . . . o 2.8.3 Einige zus¨tzliche Matrix–Grundbefehle (*) . . . . . . . . . . . . . . . . a 2.8.4 Die Funktionen size und length . . . . . . . . . . . . . . . . . . . . . . ¨ Ubungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

3 Programmieren in Scilab 3.1 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Die for–Schleife . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Die while–Schleife . . . . . . . . . . . . . . . . . . . . . . . 3.2 Bedingte Anweisungen . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Die if then else“–Konstruktion . . . . . . . . . . . . . . . . ” 3.2.2 Die select case‘–Konstruktion (*) . . . . . . . . . . . . . . ’ 3.3 Andere Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 eichenketten . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Listen (*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Einige Ausdr¨cke mit boolschen Vektoren und Matrizen (*) u 3.4 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Parameter¨bergabe (*) . . . . . . . . . . . . . . . . . . . . u 3.4.2 Debuggen einer Funktion . . . . . . . . . . . . . . . . . . . 3.4.3 Der Befehl break . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Einige n¨tzliche Grundbefehle f¨r Funktionen . . . . . . . . u u 3.5 Diverse Erg¨nzungen . . . . . . . . . . . . . . . . . . . . . . . . . . a 3.5.1 L¨nge eines Bezeichners . . . . . . . . . . . . . . . . . . . . a iii

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .