%INVFCTDEMO Demonstration von Funktion und Umkehrfunktion % am Beipiel von exp und log xa = -4:0.01:4 ; ya = exp(xa) ; xb = 0.01:0.01:4 ; yb = log(xb) ; plot(xa,ya,'g') ; axis ([-4 4 -4 4]) ; axis square ; hold on plot(xb,yb,'b') plot([-4 4] ,[-4 4],'r') ; % Diagonale plot([0 0], [-4 4],'k') ; plot( [-4 4],[0 0],'k') % Achsen % Eingabe Punkt auf einer der Kurven disp('Bitte 5 mal mit dem Cursor einen Punkt auf einer der Kurven waehlen!') for irep = 1:5 [xcu,ycu] = ginput(1); if length(ycu) == 0 xcu = 2; ycu = 0.8; end if ycu > xcu % Exponentialfunktion xl(1) = xcu ; yl(1) = exp(xcu); xl(3) = yl(1); yl(3) = log(xl(3)) ; else if xcu > 1 xl(1) = xcu; yl(1) = log(xcu); xl(3) = yl(1); yl(3) = exp(xl(3)) ; else yl(1) = ycu; xl(1) = exp(ycu); xl(3) = yl(1); yl(3) = exp(xl(3)) ; end end xl(2) =( xl(1) + xl(3))/2; yl(2) =( yl(1) + yl(3))/2; if irep > 1 delete( hd) end hd = plot(xl,yl,'-or'); end hold off; disp('invfctdemo beendet!')