Sonntag, 27. Dezember 2015

Versionsverwaltung


 Wenn sämtliche Files (hier mit der Erweiterung .tex und .tikz) in svn eingebunden, und die ID aktualisiert werden soll dann hilft:


svn add  . --force *.tex *.tikz
svn propset svn:keywords "Id" -R *.tex *.tikz

Dienstag, 4. November 2014

Maxima

Ist ein Computer Algebra System (CAS) welches in unserer Abteilung fächerübergreifend eingesetzt wird.

Für die Schulung im November 2014 stelle ich die folgenden Unterlagen zur Verfügung:

Auswertung einer Sprungantwort eines RC-Gliedes:
  • Maxima-Sitzung: zeitkonstante-bsp.pdf  
  • Datenfile : F0000CH2.CSV



Literatur: W.Haager, Computeralgebra mit Maxima, Hanser

Sonntag, 21. September 2014

Mathematischer Textsatz mit LaTeX

Eine kleine Übersicht zum math. Textsatz:

Formelsatzskriptum

Freitag, 11. Juli 2014

Grafiken mit TIKZ

TIKZ

Ich bin dazu übergegangen, die Zeichnungen meiner Skripten mit Tikz zu erstellen, da dies,
  1. gut aussieht
  2. perfekt zu latex passt
  3. und sich somit leicht warten lässt
In  weiterer Folge werde ich hier einige Bilder mit Sourcecode posten, damit leicht nachvollzogen werden kann wie man solche Zeichnungen erstellt, und ich eine Eselsbrücke für mich habe, wie einzelne Probleme gelöst werden können. Die Zeichnungen sind grundsätzlich "straight forward" und ohne Tricks gelöst. Oft wird es bessere Lösungen geben -> ich hoffe auf Hinweise/Erläuterungen in den Kommentaren.....

Aufbau einer IP-Adresse/Netzmaske:

 

Source: (ohne Kopf)





% Aufbau einer IP-Adresse Bitmuster - Dezimaldarstellung und Netzmaske
% $Id:$

\tikzstyle{ipmatrix}=[matrix of nodes,
nodes={rectangle,minimum size=4mm,very thick,draw=black!50,font=\ttfamily,
top color=white,bottom color=black!40}]
\tikzstyle{netmask}=[matrix of nodes, below = of ip,
nodes={rectangle,minimum size=4mm,very thick,draw=blue!50,font=\ttfamily,
top color=white,bottom color=blue!40}]
\tikzstyle{decmatrix}=[matrix of nodes, above = of ip,
nodes={rectangle, inner sep=0,minimum size=8mm, very thick, draw = black!50,
font=\ttfamily, top color=white, bottom color = black!40}]
\tikzstyle{nmmatrix}=[matrix of nodes, below = of nm,
nodes={rectangle, inner sep=0,minimum size=8mm, very thick, draw = blue!50,
font=\ttfamily, top color=white, bottom color = blue!40}]

\begin{tikzpicture}

% die Oktets
\matrix (ip)[ipmatrix] {1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 &
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0\\};
\matrix (nm)[netmask] {1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 &
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\};

\matrix (bin)[decmatrix] {192 & 168 & 1 & 10\\};

\matrix (nm-dec)[nmmatrix] {255 & 255 & 255 & 0\\};
% die Dezimalnummern


%Klammern über der Bitdarstellung
\begin{scope}[decoration={brace,amplitude=1.5mm}] %scope damit immer gleiche Formatierung
\draw [decorate] (ip-1-1.north west) -- (ip-1-8.north east);
\draw [decorate] (ip-1-8.north east) -- (ip-1-16.north east);
\draw [decorate] (ip-1-16.north east) -- (ip-1-24.north east);
\draw [decorate] (ip-1-24.north east) -- (ip-1-32.north east);
\end{scope}

%Klammern zwischen den Dezimalzahlen
\begin{scope}[decoration={brace, mirror,amplitude=1.5mm}] % mirror damit nach unten
\draw [decorate] (bin-1-1.south west) -- (bin-1-1.south east);
\draw [decorate] (bin-1-2.south west) -- (bin-1-2.south east);
\draw [decorate] (bin-1-3.south west) -- (bin-1-3.south east);
\draw [decorate] (bin-1-4.south west) -- (bin-1-4.south east);
\end{scope}
%Klammern über der Netzmaske
\begin{scope}[decoration={brace, mirror,amplitude=1.5mm}] %scope damit immer gleiche Formatierung
\draw [decorate] (nm-1-1.south west) -- (nm-1-8.south east);
\draw [decorate] (nm-1-8.south east) -- (nm-1-16.south east);
\draw [decorate] (nm-1-16.south east) -- (nm-1-24.south east);
\draw [decorate] (nm-1-24.south east) -- (nm-1-32.south east);
\end{scope}

%Klammern zwischen den Dezimalzahlen der Netmask
\begin{scope}[decoration={brace, amplitude=1.5mm}] % mirror damit nach unten
\draw [decorate] (nm-dec-1-1.north west) -- (nm-dec-1-1.north east);
\draw [decorate] (nm-dec-1-2.north west) -- (nm-dec-1-2.north east);
\draw [decorate] (nm-dec-1-3.north west) -- (nm-dec-1-3.north east);
\draw [decorate] (nm-dec-1-4.north west) -- (nm-dec-1-4.north east);
\end{scope}

% Strukturierungspunkte (um 1mm noch oben verschoben)
\shade[ball color=red] (bin-1-1.south east)++(0,1mm) circle(1mm);
\shade[ball color=red] (bin-1-2.south east)++(0,1mm) circle(1mm);
\shade[ball color=red] (bin-1-3.south east)++(0,1mm) circle(1mm);
% geschwungene Verbindungslinien
\begin{scope} [<->, out=270, in=90, shorten >=1.5mm, shorten <=1.5mm, looseness=.75]
\draw(bin-1-1) to (ip-1-4.north east);
\draw(bin-1-2) to (ip-1-12.north east);
\draw(bin-1-3) to (ip-1-20.north east);
\draw(bin-1-4) to (ip-1-28.north east);
\end{scope}

\begin{scope} [<->, in=270, out=90, shorten >=6.5mm, shorten <=1.5mm, looseness=1]
\draw(nm-dec-1-1) to (nm-1-4.north east);
\draw(nm-dec-1-2) to (nm-1-12.north east);
\draw(nm-dec-1-3) to (nm-1-20.north east);
\draw(nm-dec-1-4) to (nm-1-28.north east);
\end{scope}

%Strukturierungspunkte zwischen den Octetts der Netmask
\shade[ball color=red] (nm-1-8.south east) circle(1mm);
\shade[ball color=red] (nm-1-16.south east) circle(1mm);
\shade[ball color=red] (nm-1-24.south east) circle(1mm);

\shade[ball color=red] (nm-dec-1-1.south east)++(0,1mm) circle(1mm);
\shade[ball color=red] (nm-dec-1-2.south east)++(0,1mm) circle(1mm);
\shade[ball color=red] (nm-dec-1-3.south east)++(0,1mm) circle(1mm);


% Bereichsschattierung
\begin{pgfonlayer}[background] % Ebene wechseln
\draw [fill,green!40,path, fading=north](ip-1-1.south west) -- (ip-1-24.south east) -- (nm-1-24.north east) -- (nm-1-1.north west) -- cycle;
\draw [fill,yellow!40,path, fading=north](ip-1-24.south east) -- (ip-1-32.south east) -- (nm-1-32.north east) -- (nm-1-24.north east) -- cycle;
\end{pgfonlayer}

% Beschriftung
\node (ipdec) [left = of bin] {\textbf{Nodeadresse (IP)}};
\node (netdec) [left = of nm-dec] {\textbf{Netzmaske}};
\node (netadr) [below left = 2mm and -7cm of ip] {\textbf{Netzadresse}};
\node (netadr) [below right = 2mm and -3cm of ip] {\textbf{Hostadresse}};
%Strukturierungspunkte zwischen den Octetts der IP
\shade[ball color=red] (ip-1-8.south east) circle(1mm);
\shade[ball color=red] (ip-1-16.south east) circle(1mm);
\shade[ball color=red] (ip-1-24.south east) circle(1mm);

\end{tikzpicture}


Samstag, 20. Juli 2013

Kartenerstellung mit GMT

Will man Karten mit hochaufgelösten Küstenlinien ("full") erstellen, dann müssen die zur GMT-Version passenden Libraries nachinstalliert werden. Diese findet man (für die unterschiedlichen Versionen) auf

ftp://ftp.iris.washington.edu/pub/gmt/

Die Archive sind zu entpacken und in das Verzeichnis (Linux/Ubuntu) /usr/share/gmt/coast kopiert werden. Die Archive können dann gelöscht werden.

Tip: bei den Archiven und der GMT-Version auf das Filedatum schauen!

Sonntag, 10. März 2013

Bilder verkleinern unter Linux

Meine Nikon D5200 liefert im "L-Format" für ein Video zu große Bilder. Mein schwaches Notebook kann diese Datenmengen nicht mehr verdauen. Daher muss das Bildformat vor der Videoerstellung verkleinert werden.

Imagemagick eigenet sich sehr gut um Bilder schnell unter Linux zu verkleinern. Es  ist schnell mit:  

sudo apt-get install imagemagick  

installiert.
Wenn man viele Bilder verändern möchte verschiebt man diese in einen Ordner und öffnet ein Terminal-Fenster. Im Bilderordner können mit dem Befehl

mogrify -resize 1056x864 *.JPG
 
alle Bilder mit der Fileextension .JPG sofort umgewandelt werden.
Mit
ffmpeg -r 10 -f image2 -i pic%04d.JPG video.mpg

kann dann das Video erzeugt werden. 
Achtung wird ein mp4-Coder verwendet, dann müssen die Abmessungszahlen durch 2 teilber sein! Die Zahl bei Parameter r (hier 10) steuert wie "schnell" das Video läuft. damit kann der Zeitraffereffekt beeinflusst werden.


Dienstag, 27. März 2012

USB-Platte mit NTFS reparieren

Für den Datenaustausch mit Windoofen Systemen verwende ich eine NTFS-formatierte Festplatte. Meine "Bessere Hälfte" hat bei der letzten Datensicherung die Steckdosenleiste abgeschaltet, und somit das Filesystem beleidgt. Die Linux-Umgebung warnte mich, und meldete, einleuchtend und korrekt, dass die Platte unter "Winzigweich" eingebunden und mit chkdsk "behandelt" werden sollte.
Problem: das windoofe Sytem erkannte,  bzw. akzeptierte die Platte nicht mehr. Möglicherweise hätten unzählige Registry-Patches und undokumentierte (UNIX)-Funktionen das Problem behoben, aber zum Spielen verwende ich lieber eine SONY Playstation!
Lösung: UBUNTU-Linux starten (bei mir von der lokalen Festplatte des Notebooks) und dann mit

tail -n 50 /var/log/messages

nachsehen unter welchem Devicenamen Linux das Sorgenkind erkannt hat (hier sdb). Dann (nichts für Fensterklickser, die tagelang spielen wollen ...)auf der Commandline

ntfsfix /dev/sdb

eingeben - und - nach wenigen Sekunden ist die Disk wieder OK (Commandprompt erscheint und die Disk kann mit

sudo mount -t ntfs /dev/sdb1 /media/usb-disk 

gemountet und angesprochen werden - ohne Fingerbeschwerden vom Klicksen.... ;-) . Also wieder bestätigt: Spielzeuge gehören in die Sandkiste (= VirtualBox) und nicht in Arbeitsumgebungen ....