1. Variablen, Matrizen, Functionfiles



Ähnliche Dokumente
10 Lesen und Schreiben von Dateien

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Erwin Grüner

Programmierkurs Java

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Handbuch für Easy Mail in Leicht Lesen

Excel Pivot-Tabellen 2010 effektiv

FastViewer Remote Edition 2.X

Tutorial: Entlohnungsberechnung erstellen mit LibreOffice Calc 3.5

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Dokumentation. estat Version 2.0

Bauteilattribute als Sachdaten anzeigen

Leichte-Sprache-Bilder

Erstellen von x-y-diagrammen in OpenOffice.calc

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Eine Einführung in die Installation und Nutzung von cygwin

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Übung 4: Einführung in die Programmierung mit MATLAB

Erstellen der Barcode-Etiketten:

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Anwendungsbeispiele Buchhaltung

Erstellen einer digitalen Signatur für Adobe-Formulare

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Anleitung über den Umgang mit Schildern

Dokumentation zum Spielserver der Software Challenge

Mediator 9 - Lernprogramm

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Anleitung zum Einspielen der Demodaten

1 Vom Problem zum Programm

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Tutorial -

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

PowerPoint: Text. Text

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Anleitung: Wie unterschreibe ich die Petition im Internet?

Durchführung der Datenübernahme nach Reisekosten 2011

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Anleitung zum Öffnen meiner Fotoalben bei web.de

Datensicherung. Beschreibung der Datensicherung

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Wie melde ich meinen Verein bei BOOKANDPLAY an?

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

DOKUMENTATION VOGELZUCHT 2015 PLUS

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Kleines Handbuch zur Fotogalerie der Pixel AG

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

4.1 Download der App über den Play Store

Windows Server 2012 RC2 konfigurieren

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Programm GArtenlisten. Computerhinweise

Verbinden. der Firma

Stapelverarbeitung Teil 1

Outlook-Daten komplett sichern

Anwendungsbeispiele Buchhaltung

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Was man mit dem Computer alles machen kann

Konvertieren von Settingsdateien

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

Text-Zahlen-Formatieren

Primzahlen und RSA-Verschlüsselung

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Gimp Kurzanleitung. Offizielle Gimp Seite:

6.2 Scan-Konvertierung (Scan Conversion)

Schulberichtssystem. Inhaltsverzeichnis

Wir basteln einen Jahreskalender mit MS Excel.

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Wie halte ich Ordnung auf meiner Festplatte?

Der Kalender im ipad

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Benutzerhandbuch Online-Banking

EINFACHES HAUSHALT- KASSABUCH

Installationsanleitung CLX.NetBanking

Berechnungen in Access Teil I

Erklärung zum Internet-Bestellschein

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

OP-LOG

Einrichtung des WS_FTP95 LE

Konfiguration eines DNS-Servers

3.1. Die komplexen Zahlen

GFAhnen Datensicherung und Datenaustausch

Kurzanleitung. Toolbox. T_xls_Import

Was Sie bald kennen und können

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Handbuch. Adressen und Adressenpflege

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

INTERNETZUGANG UND DATENBANKEN IM ZRS

Hilfe zur Verwendung digitaler Formulare

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Einführung in das Arbeiten mit MS Excel. 1. Bearbeitungs

Transkript:

Variablen, Matrizen, Functionfiles Berechnung im Command Window Im Command-Window können direkt Berechnungen durchgeführt werden: >> 3+5 ans= 8 >> x=ans*4 ans= 32 Außerdem können im Command-Window Variablen (Matrizen) definiert werden. Diese können manipuliert werden: >> x=[1 2 3; 6 7 8] x= 1 2 3 6 7 8 >> x(2,2)=9 x= 1 2 3 6 9 8 >> x(2,:)=5 x= 1 2 3 5 5 5 >> x(:,3)=[] x= 1 2 5 5 >> a=x(2,:) a= 5 5 Erstellen und Aufrufen von Function-Files (m-files) Im Fenster Current Directory kann in dem gewünschten Verzeichnis mit Rechtsklick/New/m-File eine neue Datei (Function-File) erzeugt werden, in der eine Funk-

tion (ein Programm) definiert wird. Vor dem ersten öffnen sollte diesem der gewünschte Name gegeben werden: z.b: testm Einem Function-File können Variablen übergeben und zurück übernommen werden. Beispiel: 4. function [ y1,y2 ] = test1( x1,x2 ) % Kommentar y1=x1^x2; y2=sqrt(x1^2 + x2^2); In einem Function-File (Programm) kann ein anderes Function-File aufgerufen werden. Die Variablen (hier Eingabevariablen x1, x2, Ausgabevariablen y1, y2) sind lokal nur für das Function-File gültig. Der Programmaufruf erfolgt im Command-Window: >> [y1,y2]=test1(3,4) y1= 81 y2= 5 Beispiel: Kugel im Raum Folges Skript hat als Eingabevariable den Mittelpunkt und einen Punkt auf der Oberfläche einer Kugel. Es berechnet das Volumen und die Oberfläche der Kugel.

function [V,A] = Kugel( m,p ) % Berechnung von Volumen V und Oberfläche A bei gegebenem % Mittelpunkt m (x1,y1,z1) und Oberflächenpunkt 4. % p (x2,y2,z2) 5. x1=m(1,1); 6. y1=m(1,2); 7. z1=m(1,3); 8. x2=p(1,1); 9. y2=p(1,2); 10. z2=p(1,3); 1 r=sqrt((x2-x1)^2+(y2-y1)^2+(z2- z1)^2); 1 V=4/3*pi*r^3; 1 A=4*pi*r^2; Merke: Ein Function-File wird immer von oben nach unten abgearbeitet. Strichpunkt nach Berechnung unterdrückt die Bildschirmausgabe Ein Programmaufruf ohne Rückgabevariable gibt als Ergebnis die erste Rückgabevariable des Programms zurück. Der Name der Ein- und Rückgabevariablen muss nicht mit den Bezeichnungen im Programm übereinstimmen. Mit Cursortasten unten/oben können alte Befehle noch mal auf den Bildschirm geholt werden. Mit der Tab-Taste können halb geschriebene Befehle automatisch vervollständigt werden. help schreibt einen Hilfetext, bzw. die ersten Kommentarzeilen eines Befehls oder Programms auf den Bildschirm.

Fernsteuern mit dem Smartphone Mit einer App ist es möglich, das Commandwindow mit ein paar Einschränkungen durch das Smartphone fernzusteuern: Installieren Sie dazu die App MatLAB Mobile auf Ihrem Android oder ios Smartphone. Die App finden Sie in den üblichen Stores. Die App funktioniert, solange auf Ihrem Computer Matlab läuft und Sie innerhalb des Hochschulnetzes eduroam online sind. Informationen zu eduroam finden Sie im Internet. Starten in Matlab Geben Sie im Command-Window folgen Befehl ein: >> connector on Danach werden Sie um ein Passwort gebeten. Dies kann Zahlen und Buchstaben enthalten und muss zwischen fünf und 32 Zeichen lang sein. Im Anschluss gibt Ihnen MatLAB Informationen zu Ihrem System. Merken Sie sich: DNS name IP adresse Passwort Starten am Smartphone Installieren Sie die App Gehen Sie auf Settings und geben dort folge Daten ein: DNS name (oder IP-Adresse) Passwort Name für die Verbindung (beliebig) Jetzt können Sie Befehle eingeben, die dann von Ihrem Rechner ausgeführt werden. http://de.mathworks.com/mobile/features.html http://play.google.com/store/apps/matlabmobile

IF-Abfrage, input, fprintf Einer der wichtigsten Bestandteile jeder Programmiersprache ist die bedingte Anweisung. Das bedeutet der Computer kann abhängig von verschiedenen Situationen verschieden reagieren. Syntax: if bedingung anweisungen if bedingung1 anweisung1 anweisung2 elseif bedingung2 anweisung3 else anweisung4 Beispiel: Vorzeichen Folges Programm prüft das Vorzeichen der Zahl x. Wenn das Vorzeichen positiv ist, dann ist die Rückgabevariable vz = 1, wenn die Zahl x = 0, dann ist vz = 0, sonst ist vz = - 4. 5. 6. 7. 8. 9. 10. 1 function[vz]=vorzeichen(x) % Diese Funktion bestimmt das Vorzeichen der Zahl x % Wenn x>0 dann ist vz=1, wenn x=0 dann vz=0 % wenn x<0 dann ist vz=-1 if x>0 vz=1; elseif x==0 %Beachte beim Vergleich wird == verwet vz=0; else vz=-1;

Bespiel: Liegt der Punkt auf der Gerade? Gegeben sei die Steigung a und der Achsenabschnitt m einer Geradengleichung und die Koordinaten des Punktes P (p1, p2). P Folges Programm prüft die Lage des Punktes P zur Gerade. 4. 5. 6. 7. 8. 9. 10. 1 function[lage]=punkt (a,m,p1,p2) % Punkt P oberhalb der Geraden: lage=1 % Punkt P unterhalb der Geraden: lage=-1 % Punkt auf der Geraden: lage=0 if a*p1+m<p2 lage=1; elseif a*p1+m==p2 lage=0; else lage=-1; Merke: Jedes if muss irgwann mit einem beet werden. Zur Prüfung auf Gleichheit muss das Doppelgleich == verwet werden! Innerhalb einer if-abfrage kann eine zweite if- Abfrage gestartet werden.

Datei- und Funktionsnamen dürfen keine Umlaute enthalten. fprintf-befehl, input-befehl Zur direkten Kommunikation (Ein- und Ausgabe von Werten) innerhalb eines Programms können die Befehle input und fprintf verwet werden. Beispiel 4. 5. 6. 7. 8. 9. 10. 1 1 1 14. 15. function []=einausgabe() % die drei werte a,b,c einer quadratischen Gleichung % sollen vom Benutzer direkt eingegeben werden % daraus werden die beiden Lösungen x1 und x2 berechnet % und als Ausgabetext auf den Bildschirm gebracht a=input(['geben Sie den Koeffizienten a ein: ']); b=input(['geben Sie den Koeffizienten b ein: ']); c=input(['geben Sie den Koeffizienten c ein: ']); x1=(-b+sqrt(b^2-4*a*c))/(2*a); x2=(-b-sqrt(b^2-4*a*c))/(2*a); fprintf('\ndie Beiden Lösungen sind\n'); fprintf('x1 = %d\n',x1); fprintf('x2 = %d\n',x2);

4. FOR-Schleife, PLOT, Inkrementierung Um Programmanweisungen eine festgelegte Anzahl oft zu wiederholen benutzt man die FOR-Schleife: Syntax for a=start:schrittweite:stop anweisungen Eine for-schleife führt die Befehle innerhalb der Schleife eine bestimmte Anzahl oft durch: 4. 5. 6. function[s]=schleife_1(x) s=0; for a=1:x s=s+1 Beispiel: Multiplikation durch Addition 4. 5. function[a]=mult(x,y) a=0; for n=1:x a=a+y; Syntax plot(x,y, b-,n,m, r. ) Beispiel: x- und y-werte erstellen Folge abschnittsweise Funktion soll berechnet und geplottet werden: sin xfürx 0 y 0 fürx 0 2 x fürx 0

function[]=abschn (start,stop,anzahl) % Kommentar a=1; 4. for m=start:(stop-start)/anzahl:stop 5. x(1,a)=m; 6. if x(1,a)>0 7. y(1,a)=sin(x(1,a)); 8. elseif x(1,a)==0 9. y(1,a)=0; 10. else 1 y(1,a)=x(1,a)^2; 1 1 a=a+1; 14. 15. 16. plot(x,y, r. ) Merke Jedes for muss mit einem beet werden. In Matlab a=a+1 bedeutet: Es wird die Berechnung a+1 durchgeführt und dann die Variable a mit dem Ergebnis überschrieben! if-abfragen innerhalb von Schleifen sind möglich (und auch umgekehrt). Die Darstellung der Punkte im Plot kann durch die Variablen in den Hochkommas eingestellt werden. Siehe auch help plot. Der Befehl size gibt die Größe (Zeilen, Spalten, ) einer Matrix zurück.

5. WHILE-Schleife, Unterprogramme Die while-schleife führt Programmanweisungen innerhalb der Schleife so lange aus, bis ein definiertes Abbruchkriterium erfüllt wird. Syntax while bedingung %(==wahr) anweisungen Beispiel: Division 4. 5. 6. 7. 8. 9. function[erg,rest]=division(a,b) % Diese Funktion teilt a durch b und gibt das Ergebnis und % den Rest der Division zurück erg=0; while a>=b a=a-b; erg=erg+1; rest=a; Beispiel: Unterprogramm function[m]=modular(a,b) % gibt den Rest der Division zurück [erg,m]=division(a,b); %Aufruf von Unterprogramm division Merke Aufruf eines bereits geschriebenen Programms als Unterprogramm möglich (und zu empfehlen) Zum erkennen des Wahrheitsgehalts einer Prüfung, kann zuerst angenommen werden, die Prüfung ist wahr: p=1, dann wird die Prüfung getestet, bis man das Gegenteil erkennt p=0. Wenn dies nicht auftritt, dann bleibt die Prüfung wahr.

6. Integrieren, Differenzieren, Laden und Speichern MatLab ist in der Lage nach Variablen zu integrieren und zu differenzieren. Die Formel log q F sin x 2 2x soll nach x differenziert werden. Dazu müssen zuerst alle Variablen auf der rechten Seite als symbolische Variablen definiert werden: >> syms x >> syms q Danach wird die Formel eingegeben: >> F=sin(x)+log(q)/(2*x^2) F = sin(x) + log(q)/(2*x^2) dann kann die gewünschte Rechenoperation durchgeführt werden: >> FS2=diff(F,x,2) FS2= (3*log(q))/x^4 - sin(x) In der Klammer nach dem Befehl diff steht zuerst die Funktion, dann die Variable, nach der differenziert werden soll und dann die Anzahl der Differenzierungen. Ähnliches gilt für das Integral: >> FI1=int(F,x) Es kann auch eine Zahl für x gesetzt werden und die Gleichung Numerisch berechnet werden: >>x=1 >>eval(fi1) ans= -log(q)/2-1216652631687587/2251799813685248

LOAD, SAVE Eine Variable (Matrix) kann in eine Datei gespeichert werden. >> x=[1 2 3;4 5 6] >> save datei.txt x ascii Die Datei datei.txt kann wieder in eine Variable (Matrix) geladen werden: >> load datei.txt ascii datei = 1 2 3 4 5 6

7. Rekursive Algorithmen Bei manchen Aufgaben muss sich ein Programm selbst aufrufen. Wichtig ist hierbei, dass das Programm ein geeignetes Abbruchkriterium enthält, da MatLab sonst in einer Endlosschleife hängt und von Hand abgebrochen werden muss. (strg-c) Beispiel: 4. 5. 6. 7. function [zahl]=fakultaet(zahl) % if zahl<=1 %Abbruchkriterium zahl=1; else zahl=zahl*fakultaet(zahl-1); Rechenbeispiel fakultaet(3) Das Programm geht in den else-zweig, weil 3>1 dort wird die Funktion folgermaßen aufgerufen: zahl=3*fakultaet(2) in dem nun aufgerufenen Programm geht Matlab wieder in den else-zweig, weil 2> Insgesamt sieht die Rechenoperation dann so aus: zahl=3*fakultaet(2*fakultaet(1)) hierbei geht Matlab in den ersten if-zweig, weil 1<=1 und gibt als Rückgabewert den Wert 1 aus. Insgesamt sieht die Rechenoperation dann folgermaßen aus: zahl=3*2*1 Merke: Rekursive Algorithmen müssen ein Abbruchkriterium haben, das auf jeden Fall erreicht wird. Eingabe- und Ausgabevariablen müssen immer gleich benannt sein.

8. Kurzanleitung für MATLAB Vorbelegte Variablen und Zeichen pi, i, j, inf, ans, eps, NaN = Variablenzuweisung >>x=5 >>ans x=5 ; Unterdrückung der Ausgabe x=5; : Doppelpunktoperator start:schrittweite:ziel % Kommentarbeginn >>% ich bin ein Kommentar.. Stringvariable >>x= ich bin ein string Winkel standardmäßig im Bogenmaß Symbolische Variablen syms a b c d a b c d sind Platzhalter sym( a ) a ist Platzhalter Mathem. Funktionen und Operatoren + - * / ^ ^ \ Matrixmultiplikation, Linksdivision.*.^.\ elementweise Operatoren bei Matrixberechnungen sqrt(x) Quadratwurzel rem(x,y) Rest nach Division x/y mod(x,y) x Modulo y sin(x) cos(x) tan(x) cot(x) mit x im Bogenmaß sind(x) cosd(x) tand(x) cotd(x) mit x in Grad atan(x) Arcus-Tangens / 2 atan2(x) Arcus-Tangens sinh(x) Sinus Hyperbolicus sinc(x) Spaltfunktion sin( x) /( x) exp(x) log(x) log10(x) erf(x) abs(x) sign(x) round(x) ceil(x) floor(x) real(x) imag(x) Vektoren und Matrizen vec=[v1 v2 v3] oder [v1,v2,v3] >> vec=[1 2 3] vec=-2:3 >> vec=[-2,1,0,1,2,3] M=[a b c; d e f; g h i] zeilenweise Eingabe einer Matrix a b c M d e f g h i M(,:) letzte Zeile der Matrix >> ans (g h i) M(2,:) zweite Zeile der Matrix >> ans (d e f) M(2,3) Zeile, 3 Spalte >> ans (f) ones(#zeilen,#spalten) Matrix mit 1 Einträgen eye(#zeilen) quadratische Einheitsmatrix rand(#zeilen,#spalten) Matrix mit Zufallswerten zw.0..1

randn(#zeilen,#spalten) Matrix mit normalvert. Zufallswerten inv(m) Inverse der Matrix M matrix. transponierte Matrix det(m) Determinante von M eig(m) Eigenwerte von M min(vec) kleinstes Vektorelement max(vec) größtes Vektorelement std(vec) Standardabweichung sum(vec) Summe der Vektorelemente prod(vec) Produkt der Vektorlement linspace(start,ziel,anzahl) Erzeugung linearer Vektoren size(vec) Dimension einer Variablen size(vec, 1) Zeilen-Dimension size(vec,2) Spaltimension length(vec) Länge eines Vektors length(m) größte Dimension einer Matrix clear löscht alle Variablen im Workspace who Liste aller Variablen Cell-Arrays zelle=cell(2,3) Behälter von Matrizen,Vektoren,Werten zelle{2,2} gibt Zellinhalt in Zeile und Spalte aus Vergleichsoperatoren == eq(a,b) gleich ==1 ==T is true ==0 ==F is false ~= ne(a,b) ungleich <= le(a,b) kleiner gleich < lt(a,b) kleiner >= ge(a,b) größer gleich > gt(a,b) größer isnumeric(a)==1 Prüfung auf numerische Variable issymbolic(a)==0 Prüfung auf symbolische Variable Verzweigungsbefehle if elseif.else switch.case otherwise Schleifenbefehle for. while. break continue return

Datenimport und export load dateiname variable in Datei können mehrere Variablen abgespeichert sein save dateiname variable Plot-Befehle figure(zähler) Erzeugen eines Bildes subplot(zeilen,spalten,zähler) Erzeugt ein Unterbild plot(xwerte,ywerte,plotstil) Plotten einer Kurve plotstil setzt sich aus Farbe ( k schwarz b blau g grün r rot y gelb), Punkttyp (Punkte Kreise * Sterne + Kreuze x Kreuze), Linientyp (: - durchgezogen -- gestrichelt -. strichpunktiert : gepunktet) zusammen hold on verhindert, dass vorheriger Plot überschrieben wird plot(xwerte,ywerte,plotstil) Zeitmessung tic. toc Befehlsausführungszeit zwischen tic und toc