Pixelbild < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Aufgabe | Erstellen Sie ein Matlab-Programm, welches von der Funktion
$$p: [mm] \mathbb{C} \to \mathbb{C} [/mm] , [mm] p(z)=1+z+\frac{z^2}{2}+\frac{z^3}{6}+\frac{z^4}{24}$$
[/mm]
die Bereiche [mm] $B_n=\{ z\in \mathbb{C} : n-1 \leq \abs{p(z)} < n \} [/mm] , n=1,...,10$ zeichnet.
Gehen Sie wie folgt vor:
Es wird eine [mm] $500\times [/mm] 500$-Matrix $C$ angelegt ("Pixelbild").
Die Funktion $ p(z) $ wird in den Gitterpunkten [mm] $$z_{kl} [/mm] := [mm] \left( -5 + \frac{k}{50} \right) [/mm] + [mm] \left( -5 + \frac{l}{50} \right) [/mm] *i [mm] \qquad [/mm] (k,l =1,...,500)$$ ausgewertet.
Gilt [mm] $n-1\leq\abs{p(z_{kl})} |
Hallo,
ich sitze schon ewig an dieser Aufgabe, weiß aber einfach nicht weiter.
Bei uns im Skript habe ich folgendes zu den sog. Pixelbildern gefunden, bzgl. der Mandelbrotmenge:
clear all;
tic
N=32;
L1=500;
L2=600;
C=zeros(L1,L2,'uint8');
rmax = 15;
for k=1:L1
for l=1:L2
count=0;
z=complex(0,0);
c=complex(-0.5+3.*k./L1, -1.5+3.*l/L2);
r=0;
while ((r < rmax) & (count < N))
z=z*z-c;
r=abs(z);
count = count+1;
end
C(k,l)= count;
end
end
colormap(colorcube(N));
toc
image(C','XData',[-0.5,2.5],'YData',[-1.5,1.5]);
% image(C');
Hilft das mir hier weiter??
Vielen Dank schon mal für die Hilfe.
lG
DudiPupan
|
|
|
|
Also ich habe jetzt einfach mal folgendes probiert:
clear all;
tic
N=32;
L1=500;
L2=500;
C=zeros(L1,L2,'uint8');
nmax = 10;
for k=1:L1
for l=1:L2
count=0;
z=complex(-5+k./50, -5+l/50);
n=0;
while ((n <= nmax) & (count < N))
[mm] z=1+z+z.^2/2+z.^3/6+z^4/24;
[/mm]
n=abs(z);
count = count+1;
end
C(k,l)= count;
end
end
colormap(colorcube(N));
toc
image(C','XData',[-5,5],'YData',[-5,5]);
% image(C');
Und es kommt ein Pixelbild dabei heraus.
Jedoch weiß ich nicht, ob das das richtige ist.
Kann ich das hier irgendwie einfügen?
lG
Dudi
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Mo 11.06.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Also ich habe es jetzt mal hiermit versucht.
Es wird ein Pixelbild ausgegeben.
Aber ich habe keine Ahnung, ob das so stimmt:
L1=500;
L2=500;
C=zeros(L1,L2,'uint8');
nmax = 10;
for k=1:L1
for l=1:L2
count=0;
z=complex(-5+k./50, -5+l/50);
n=0;
while ((n <= nmax) & (count < nmax))
[mm] z=1+z+z^2/2+z^3/6+z^4/24
[/mm]
n=abs(z);
count = count+1;
end
C(k,l)= count;
end
end
colormap(colorcube(N));
% image(C');
Würde mir sehr helfen, wenn mir jemand einen Tipp geben könnte
vielen Dank
lG
Dudi
|
|
|
|
|
Hi,
ich schaue es mir grad einmal an. Als erstes steckt in der Aufgabe ein Fehler:
[mm] $n-1\le P(z_{kl}
Komplexe Zahlen kann man ja recht schlecht anordnen, da algebraisch abgeschlossene Körper nie angeordnet werden können.
Mir ist klar, was du in den 2 FOR-Schleifen machen möchtest. Als erstes initalisierst du die Matrix C mit den [mm] $z_{kl}$. [/mm] Nur dann ist mir die WHILE-Schleife nicht ganz so klar. Man soll doch einfach nur die Matrix C in der Funktion auswerten.
Ich denke, dass soetwas herauskommen soll:
1: |
| 2: | n=3; % Parameter normalerweise 500, aber da muss ich scrollen ;-)
| 3: | C=complex(ones(n,1)*(-5+(1:n)./50),(-5+(1:n)./50)'*ones(1,n)); % mit den z_kl belegen
| 4: | C=ones(n,n)+C+(C.^2)./2+(C.^3)./6+(C.^4)./24; % Funktion p auf die Matrix drauf loslassen
|
Jetzt soll ja der Bereich gefunden werden, in dem [mm] $n-1\le |P(z_{kl}|
Beispiel [mm] $n-1\le [/mm] 4.5 <n$ gilt für [mm] $n=\operatorname{floor}(4.5)+1=4+1=5$.
[/mm]
Insgesamt erhalte ich damit
1: |
| 2: | n=500;
| 3: | C=complex(ones(n,1)*(-5+(1:n)./50),(-5+(1:n)./50)'*ones(1,n)); % mit den z_kl belegen
| 4: | C=ones(n,n)+C+(C.^2)./2+(C.^3)./6+(C.^4)./24; % Funktion p auf die Matrix drauf loslassen
| 5: | C=floor(abs(C))+ones(n);
| 6: | image(C)
|
So die verschiedene Befehle habe ich jetzt mal zum plotten ausprobiert. Da keine Schleife drin ist, geht das sogar diesmal recht flott.
image(C) liefert für n=500
[Dateianhang nicht öffentlich]
imagesc(C) liefert für n=1000
[Dateianhang nicht öffentlich]
pcolor(C) (ohne mit transparenter Eckenfarbe) liefert für n=1000
[Dateianhang nicht öffentlich]
Hoffentlich ist es auch das, was gesucht ist
Habe auch aber auch für die 2x2 Matrix C es per Hand ausgerechnet, das passt schon.
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich] Anhang Nr. 2 (Typ: png) [nicht öffentlich] Anhang Nr. 3 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:24 Di 12.06.2012 | Autor: | wieschoo |
Jetzt interessiert mich natürlich auch, in welchen Kontex die Aufgabe steht? Oder ist das nur eine Übungsaufgabe?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:20 Di 12.06.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|