dh-Materialien
Einführung in Maple    
Anwendungen
 

Lösungen der Gleichung bz = c

> restart; with(plots): with(plottools):
  interfaceshowassumed = 0):
  interface(displayprecision = 3):

Definition der Funktion f auf der Menge der komplexen Zahlen:

> f(z):= b^z;

f(z)=b^z

 Lösen der Gleichung f(z) = c:

> _EnvAllSolutions:= true:
  s:= solve(f(z) = c, z);

s

Die Konstante _Z1 ist ganzzahlig:

> about(_Z1);

Aufspalten der komplexen Zahl s in ihren Realteil bzw. Imaginärteil:

> alias(k = _Z1):
  xs:= Re(s);
  ys:= Im(s);

xs, ys

Wählen fester Werte für b bzw. c:

> k:= 'k':
  b:= -2; #
  c:= 10000; #
  xs:= Re(s);
  ys:= Im(s);

b=-2; c=10000

Die Probe:

> lsg:= b^(xs+I*ys);
  lsg:= simplify([evalc(Re(lsg)), evalc(Im(lsg))]);

lsg

Berechnung und Darstellung einiger Lösungen der Gleichung f(z) = c:

> lsgseq:= seq([evalf(xs, 30), evalf(ys, 30)], k = -20..20):
  lsgn:= plot([lsgseq], style = point, color = blue):
  display([lsgn], axesfont = [COURIER, 12]);

lsgseq

 Definition der reellwertigen Funktion potRe: z -> Re(bx+iy):

> potRe:= proc(b,x,y)
    evalf(Re(b^(x+I*y)), 30):
  end;

Diagramm

Auswahl einiger der oben berechneten Lösungen der Gleichung f(z) = c:

> num:= nops([lsgseq]):
  points:= []:
  xmin:= 12; #
  xmax:= 18; #
  for k from 1 to num do
    if (([lsgseq][k][1] > xmin) and ([lsgseq][k][1] < xmax)) then
      print ([lsgseq][k]);
      points:= [op(points), [lsgseq][k]];
    fi:
  od:
  pnum:= nops(points):

Lösungen

3D-Darstellung von potRe sowie der vorstehend aufgelisteten Lösungen:

> ymin:= floor(points[1][2]):
  ymax:= ceil(points[pnum][2]):
  flaeche:= plot3d(potRe(b,x,y), x = xmin..xmax, y = -0.3..1,
    axesfont = [COURIER, 12],
    labelfont = [COURIER, 12],
    orientation = [-112, 66],
    axes = boxed,
    style = wireframe):
  lxmin:= points[1][1]:
  lymin:= points[1][2]:
  lxmax:= points[pnum][1]:
  lymax:= points[pnum][2]:
  gerade:= line([lxmin, lymin, c],[lxmax, lymax, c],
    color = red,
    linestyle = solid):
  punkte:= seq(point([points[k][1],points[k][2],c],
    color = blue,
    symbolsize = 12,
    symbol = diamond),
    k = 1..pnum):
  display([flaeche, gerade, punkte]);

3D-Diagramm

Variieren von c:

> c:= 10^n;
  k:= 7:
  xs:= Re(s);
  ys:= Im(s);
  points7:= [seq([evalf(xs, 30), evalf(ys, 30)], n = 3..5)]:
  pnum7:= nops(points7):

  k:= 8:
  xs:= Re(s):
  ys:= Im(s):
  points8:= [seq([evalf(xs, 30), evalf(ys, 30)], n = 3..6)]:
  pnum8:= nops(points8):

  k:= 9:
  xs:= Re(s):
  ys:= Im(s):
  points9:= [seq([evalf(xs, 30), evalf(ys, 30)], n = 4..6)]:
  pnum9:= nops(points9):

  flaeche:= plot3d(potRe(b,x,y), x = xmin..xmax, y = -0.8..1.3,
    axesfont = [COURIER, 12],
    labelfont = [COURIER, 12],
    orientation = [-112, 66],
    axes = boxed,
    style = wireframe):

  pktopts:= 'color = blue, symbolsize = 12, symbol = diamond':

  punkte7:= seq(point([points7[j][1],points7[j][2],10^(j+2)],
    pktopts),
    j = 1..pnum7):
  punkte8:= seq(point([points8[j][1],points8[j][2],10^(j+2)],
    pktopts),
    j = 1..pnum8):
  punkte9:= seq(point([points9[j][1],points9[j][2],10^(j+3)],
    pktopts),
    j = 1..pnum9):

  display([flaeche, punkte7, punkte8, punkte9]);

c=10^n
3D-Diagramm


 Home   Back   Top