% Einfuehrung in Matlab
%
% Peter Mayr, WS 2005
%
% Das Protokoll dieser Matlab-Session ist durch den Befehl
% diary praesentation 
% in der Kommandozeile erstellt worden.

% Matlab als Taschenrechner

2+3*4^5

ans =

        3074

erg = (5+2^3)/sqrt(2)

erg =

    9.1924

cos( pi/2 )

ans =

  6.1232e-017

% Wir berechnen die reellen Nullstellen der Funktion f(x) = 2x^2+3x-4.
% Zuerst definieren wir die Funktion f.

f = @(x) 2*x^2+3*x-4

f = 

    @(x) 2*x^2+3*x-4

f(2)

ans =

    10

% Wir suchen eine Nullstelle von f in der Naehe von 2
x1 = fzero(f,2)

x1 =

    0.8508

fzero(f,10)
Exiting fzero: aborting search for an interval containing a sign change
    because NaN or Inf function value encountered during search.
(Function value at -1.07262e+154 is Inf.)
Check function or try again with a different starting value.

ans =

   NaN

x2 = fzero(f,-3)

x2 =

   -2.3508


% Alternativ kann man die Nullstellen des Polynoms 2x^2+3x-4 auch so berechnen:
% Das Polynom wird dabei durch die Liste [2 3 4] seiner Koeffizienten 
% dargestellt.
lsg = roots( [2 3 -4] )

lsg =

   -2.3508
    0.8508

x1 = lsg(1)

x1 =

    0.8508

% Vektoren sind als Listen repraesentiert.
v = [ 1 2 0 ];
w = [-3 2 1 ];
2*v

ans =

     2     4     0

v+w

ans =

    -2     4     1

% Das Skalarprodukt von v und w erhalten wir als Matrixprodukt 
% von v mit w transponiert:
v*w'

ans =

     1

% Wir definieren eine Funktion:
f = @(x,y,z) x^2-y^2+z^2

f = 

    @(x,y,z) x^2-y^2+z^2

f( 1, 2, 3 )

ans =

     6

% Wir loeschen die Definition von f 
clear f
f(1,2,3)
??? Undefined command/function 'f'.

% Wir speichern die Quadratzahlen zwischen 1 und 100 in der Liste a.
% Dazu verwenden wir eine for-Schleife.
for i = 1:10
   a(i) = i^2;
end
a

a =

     1     4     9    16    25    36    49    64    81   100

a(7) 

ans =

     49

% Nachdem wir eine Funktion h in dem M-File h.m definiert haben,
% koennen wir sie im Command-Window verwenden.
h( pi )

ans =

     1
 
h( -5 )

ans =

    -1