MATLAB - Eine Einführung, S.Teschl 45 /|VXQJHQ]X.DSLWHO(UVWH6FKULWWH b) Nicht zulässig: Summe_a+b (Sonderzeichen „+“ ist nicht erlaubt), 5Tageskarte (erstes Zeichen muss ein Buchstabe sein) Das Commandfenster wird mit clc gelöscht (das findet man z.B. mit KHOSJHQHUDOheraus). . Bei Eingabe von FOHDUDE wird a gelöscht und b wird ausgegeben (MATLAB interpretiert diese Eingabe als zwei Anweisungen, die durch einen Beistrich getrennt sind). Die Variablen a und b werden gleichzeitig gelöscht mit FOHDUDE (Das findet man z.B. mit KHOSFOHDUheraus) . Die Funktion, die den natürlichen Logarithmus berechnet, ist ORJ[ (siehe KHOSHOIXQ ). ORJ ans = 0.3075 FRVSL ans = -1 FRVSL ans = 6.1232e-017 Der Funktionswert ist nicht exakt 0, da er numerisch berechnet wird. IRUPDWORQJORJ ans = 0.37156355643248 IRUPDWUDW . ans = 335/427 Achtung: In diesem numerischen Format werden irrationale Zahlen durch rationale Zahlen angenähert! Zum Beispiel wird die irrationale Zahl π dargestellt als: IRUPDWUDWSL ans = 355/113 z = 4j/(1+j); w = z’, phi = angle(z)*180/pi, a = abs(z) w = 2.0000 - 2.0000i phi = 45 a = 2.8284 Mithilfe vonORRNIRUFRPSOH[ findet man die BefehleUHDO] und ] MMUH re = 0.5000 im = 2.5000 UHDO]LP LPDJ] LPDJ] : MATLAB - Eine Einführung, S.Teschl 46 /|VXQJHQ]X.DSLWHO9HNWRUHQXQG0DWUL]HQ >@\ [ ORJ[ y = 0 1.0986 1.6094 1.9459 y(1) ist das erste Element des Vektors y. a = -10:2:10, b = 10:-1:0 a = -10 -8 -6 -4 b = 10 9 8 7 2.1972 -2 0 6 5 2 4 4 6 3 8 2 1 10 0 >@ [ X [>@ u = 1 6 11 bildet einen Vektor u bestehend aus dem 1., 4. und 7. Element von x. Y [ v = 1 3 -2 6 bildet einen Vektor v aus den ersten vier Elementen von x. Z [ w = 3 6 7 -8 bildet einen Vektor w aus jedem zweiten Element von x. . einfach ausprobieren . x = 0:0.5:2*piist ein Vektor mit erstem Element 0 und letztem Element 2π (und Schrittweite 0.5). Bei x = (0:0.5:2)*piwird jedes Element von (0:0.5:2) mit π multipliziert. . a) [ N >@3RO\QRPNRHIIL]LHQWHQ SRO\YDON[ ans = Columns 1 through 6 1.2000 1.2100 1.2000 Column 7 • 0.2400 b) [ 1.1100 0.8800 0.4500 SL VLQ[ SRO\YDO>@[ ans = 0 0.1736 ans = 0 0.3420 0.1736 einfach ausprobieren % . $ % UDQG% 0.5000 0.3420 0.6428 0.5000 0.7660 0.6428 >@ $& $>@ 0.7661 MATLAB - Eine Einführung, S.Teschl 47 einfach ausprobieren $ . >@E >@ GHW$ ans = 147 (Damit ist sichergestellt, daß es eine eindeutige Lösung gibt.) Die Lösung erhalten wir dann z.B. mit [ $?E /|VXQJHQ]X.DSLWHO*UDSKLN [ >@=ZHL3XQNWHJHQJHQ 0$7/$% YHUELQGHWVLHDXWRPDWLVFK JULGHU]HXJW*LWWHUOLQLHQ \ [ SORW[\JULG W \ H[SW SORWW\ W SL [ VLQW \ FRVW SORW[\ MATLAB - Eine Einführung, S.Teschl 48 W \ H[SW SORWW\ [ODEHO W \ODEHO \ WLWOH $EE WH[W H[SW W [ SL VLQW\ FRVW SORW[\ [ODEHOµVLQW¶\ODEHOµFRVW¶ WLWOHµ3DUDPHWHUGDUVWHOOXQJ¶ WH[W¶[W WH[W¶\W VLQW¶ FRVW¶ [ \ OLQVSDFHEHLJHUDGHU$Q]DKOYRQ [A] DEV['DWHQSXQNWHQZLUGGLH6SLW]HYRQ SORW[\[]JULGDEV[DEJHVFKQLWWHQ [ Z [A] VTUW[ SORW[Z[][[ MATLAB - Eine Einführung, S.Teschl W SL U FRVW SRODUWU [ \ [A[ SORW[\ Wenn MATLAB den y-Bereich automatisch wählt, sieht man hier nicht deutlich, ob die Funktion monoton wachsend ist – wir müssen den y-Bereich kleiner wählen: D[LV>@ ISORW VLQ[ >SL@ 49 MATLAB - Eine Einführung, S.Teschl 50 I [[ ISORWI>@ Hier scheint die Funktion linar und stetig zu sein (sie sieht aus wie die Funktion y(x)=x). Wir wissen aber, daß die Funktion tatsächlich bei x=0 nicht definiert ist, da sie dort unendlich groß wird. Dies kann von MATLAB aber erst erfasst werden, wenn wir die Anzahl der gezeichneten Kurvenpunkte erhöhen: ISORWI>@H J Y SKL YLQPVXPJHZDQGHOW SLSKLPXVVLQV%RJHQPDXPJHZDQGHOWZHUGHQ WZXUI YVLQSKLJ'DXHUGHV:XUIHVELV\ W WZXUI [ YWFRVSKL\ SORW[\ YWVLQSKLJWA MATLAB - Eine Einführung, S.Teschl [ \ VTUW[ ORJORJ[\JULG . [ \ >[[\\@ ] [ PHVKJULG[\ [[\\ VXUI[\] [ \ >[[\\@ ] [ PHVKJULG[\ [[[[\\\\ VXUI[\] [ \ >UHLP@ EHWUDJ [ PHVKJULG[\ VTUWUHUHLPLP VXUI[\EHWUDJ 51 MATLAB - Eine Einführung, S.Teschl 52 /|VXQJHQ]X.DSLWHOP)LOHV /LVVDMRXV)LJXU : liss.m % liss.m zeichnet den Graphen einer beliebigen Lissajous-Figur % Amplituden A, B, Frequenz w werden aus dem Workspace übernommen t = (0:0.01:1)*pi; x = A*sin(w1*t); y = B*cos(w2*t); plot(x,y) title('Lissajous-Figur'); Eingabe im Commandfenster: $ % Z Z OLVV /LVVDMRXV)LJXUHQLQWHUDNWLY : liss_int.m % liss_int.m zeichnet beliebige Lissajous-Figuren % Eingabe: Amplituden A, B, Frequenzen w1, w2 clc disp('Lissajous-Figuren'); disp(' '); A = input('Amplitude der horizontalen Schwingung: A = '); B = input('Amplitude der vertikalen Schwingung: B = '); w1 = input('Frequenz der horizontalen Schwingung: w1 = '); w2 = input('Frequenz der vertikalen Schwingung: w2 = '); t = (0:0.01:1)*pi; x = A*sin(w1*t); y = B*cos(w2*t); q = w1/w2; plot(x,y) title(['Lissajous-Figur mit Frequenzverhältnis q = ', num2str(q)]); Eingabe im Commandfenster: OLVVBLQW Lissajous-Figuren Amplitude der horizontalen Schwingung: A = Amplitude der vertikalen Schwingung: B = Frequenz der horizontalen Schwingung: w1 = Frequenz der vertikalen Schwingung: w2 = MATLAB - Eine Einführung, S.Teschl 53 : func.m 'DUVWHOOXQJYRQ)XQNWLRQVJUDSKHQ % func.m zeichnet einen beliebigen Funktionsgraphen % interaktiv einzugeben sind: untere und obere Grenze des % Definitionsbereiches: xmin, xmax % Funktion y, Titel der Graphik ti clc; disp(’Geben Sie die untere und obere Grenze des Definitionsbereichs ein:’); xmin = input(’xmin = ’); xmax = input(’xmax = ’); x = (xmin:0.01:xmax); disp(’Geben Sie nun die Funktion ein:’); y = input(’y = ’); ti = input(’Geben Sie den Titel der Graphik ein: ’,’s’); plot(x,y); title(ti) Beim Aufruf im Commandfenster passiert folgendes: IXQF Geben Sie die untere und obere Grenze des Definitionsbereichs ein: xmin = xmax = Geben Sie nun die Funktion ein: y = VLQ[H[S[ Geben Sie den Titel der Graphik ein: VLQ[H[S[ : hyp(a,b) +\SRWHQXVHHLQHVUHFKWZLQNHOLJHQ'UHLHFNV function c = hyp(a,b) % hyp(a,b) berechnet die Hypotenuse eines rechtwinkeligen Dreiecks % nach dem Pythagoreischen Lehrsatz MATLAB - Eine Einführung, S.Teschl c = sqrt(a.^2 + b.^2); Man kann nun im Commandfenster als Argument Zahlen oder auch Vektoren eingeben: K\S ans = 5 K\S>@>@ ans = 5.0000 2.2361 : winkel(u,v) :LQNHO]ZLVFKHQ]ZHL9HNWRUHQ function phi=winkel(u,v) % Berechnent den Winkel zwischen zwei Vektoren im Gradmaß phi_rad= acos(u*v’/(norm(u)*norm(v))); phi = phi_rad*180/pi; Im Commandfenster: ZLQNHO>@>@ ans = 90 : pol(a,b) 8PUHFKQXQJLQ3RODUNRRUGLQDWHQ function y = pol(a,b) % gibt die Polarkoordinaten (r,phi) von z = a + bj aus % r = abs(z), phi = arg(z) im Gradmaß r = abs(a + b*j); phi_rad = angle(a + b*j); phi = phi_rad*180/pi; y = [r,phi]; Im Commandfenster: SRO ans = 2.8284 45.0000 /|VXQJHQ]X.DSLWHO6\PEROLF0DWK7RROER[ a) V\PV[IDFWRU[A[A[ ans = (x-3)*(x^2+1) b) IDFWRU[A[A[A ans = x^2*(x+3)*(x-1) c) H[SDQG[[A[ ans = x^3-1 d) V\PVDVLPSOLI\DADADA ans = 4/a e) J FRV[FRV[AVLQ[AVLPSOLI\J ans = 54 MATLAB - Eine Einführung, S.Teschl 1 f) K [A[[[ SUHWW\K>]Q@ QXPGHQK 2 x + 3 x ------- + 3 ----2 x - 1 x - 1 z = x^3+5*x^2-3 n = (2*x-1)*(x-1) g). V\PV[Z VLQ[FRV[ V VLPSOHZ V VLPSOHV VXEVV s = 1/cos(x)*sin(x) s = tan(x) ans = 1.5574 a) VROYH [A[ ans = [ -3] [ 1] Auch folgende Eingabe ist möglich: VROYH [A[ ans = [ -3] [ 1] b) VROYH A[ ans = log(5/4)/log(4) GRXEOHDQV ans = 0.1610 Auch mit beispielsweise 1. statt 1: VROYH A[ ans = .16096404744368117393515971474470 c)VROYH ORJ[ ans = 2*exp(1/3) d) VROYH [ ans = 8. e) H [\] H [\] H [\] 55 MATLAB - Eine Einführung, S.Teschl >;<=@ 56 VROYHHHH X = 1 Y = -4 Z = -6 f) + VROYH KAKAKSLW K H = [ 1/pi*((pi+3*t)*pi^2)^(1/3)-1] [ -1/2/pi*((pi+3*t)*pi^2)^(1/3)-1+1/2*i*3^(1/2)/pi*((pi+3*t)*pi^2)^(1/3)] [ -1/2/pi*((pi+3*t)*pi^2)^(1/3)-1-1/2*i*3^(1/2)/pi*((pi+3*t)*pi^2)^(1/3)] VXEV+ ans = 0.7941 -1.8970 + 1.5537i -1.8970 - 1.5537i DQV ans = 0.7941 ist die gewünschte reelle Lösung. h) VROYH [A\A \ ans = [ 3/2*(-x^2+4)^(1/2)] [ -3/2*(-x^2+4)^(1/2)] ISORW >[AA[AA@ >@ a) DEO GLII ORJ[ SUHWW\DEO 3 ------3 x + 1 b) V\PV[DEO GLIIORJ[SUHWW\DEO 3 - ------3 x + 1 c) ] GLIIFRV[FRV[SUHWW\] sin(x) (1 + cos(x)) sin(x) - ---------- - ------------------1 - cos(x) 2 (1 - cos(x)) MATLAB - Eine Einführung, S.Teschl 6 57 VLPSOH] S = -2*sin(x)/(-1+cos(x))^2 SUHWW\6 sin(x) -2 -------------2 (-1 + cos(x)) V\PVWDEO d) GLIIVLQWASUHWW\DEO 4 sin(2 t - 1) cos(2 t - 1) 6 VLPSOHDEO S = 2*sin(4*t-2) V\PVWIBVWULFK e) GLIIH[SW f_strich = -exp(-1/2*t) VXEVIBVWULFK ans = -1 Die Steigung im Punkt 0 ist –1. W f) \ H[SWSORWW\JULG GLII FRV[VLQ[ ans = -4*cos(x)*sin(x) 6 VLPSOHDQV S = -2*sin(2*x) g) GLII[W W ans = -2/(x+2*t)^2 h) ) IVWULFK GLII [A[A $EOHLWXQJ fstrich = -2000/x^3+4000/(20-x)^3 VROYHIVWULFKZ GRXEOHDQV w = 8.8499 5.5751 +16.4390i MATLAB - Eine Einführung, S.Teschl 58 5.5751 -16.4390i IVWULFK GLIIIVWULFK$EOHLWXQJ f2strich = 6000/x^4+12000/(20-x)^4 [ ZVXEVIVWULFK$EOHLWXQJXQJOHLFK" ans = 1.7545 Da f ' ' positiv, liegt ein Minimum vor. a) I VTUW[[LQWI ans = x^(1/2)+1/2*log(x) GLIIDQVSUHWW\DQV 1 1/2 ---- + 1/2 1/x 1/2 x b) LQW VLQ[VLQ[ ans = 2*sin(x) c) LQW [VTUW[A ans = 1/3 d) LQW VTUW[ ans = 2 LQW [A ans = inf e) LQW VTUW[ LQI ans = inf LQW [A LQI ans = 1 f) LQW VTUW[ ans = 16/3 GRXEOHDQV ans = 5.3333 g) LQW [A ans = -1/2*atanh(x)-1/2*atan(x) GLIIDQV ans = -1/2/(1-x^2)-1/2/(1+x^2) VLPSOLI\DQV ans = 1/(-1+x^2)/(1+x^2) MATLAB - Eine Einführung, S.Teschl >]Q@ 59 QXPGHQDQV z = 1 n = (-1+x^2)*(1+x^2) H[SDQGQ ans = x^4-1 a) OLPLW[H[S[[LQI ans = 0 b) OLPLWA[[ ULJKW ans = 1 OLPLWA[[ OHIW ans = 0 c) V\PVKOLPLW[KA[AKK ans = 3*x^2 Es handelt sich hier um die Ableitung der Funktion f(x) = x3. V\PVXWD\ORUH[SXAX ans = 1-1/2*u^2+1/8*u^4 a) GVROYH [\A'\ \ [ ans = 2/(x^2+1) b) GVROYH '\'\\ VLQ[ [ ans= simple(ans) ans = sin(4*x)-4*cos(4*x)+C1*exp(-2*x)*sin(4*x)+C2*exp(-2*x)*cos(4*x) c) I GVROYH '\'\\ I VLPSOHI VLQWVLQW '\ \ f = -8*cos(t)+15*sin(t)-4*cos(2*t)+3*sin(2*t)+12*exp(-4*t)+27*exp(-4*t)*t