Newton-Fraktal < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo,
habe hier den folgenden Code für ein Newton-Fraktal für die Funktion [mm] x^3-1. [/mm] Der Code funktioniert auch, aber kann man diesen noch optimieren? Also das er schneller läuft?
Hier der Code:
% Definition der Nullstellen
z1 = 1;
z2 = -.5 + i*sqrt(3)/2;
z3 = -.5 - i*sqrt(3)/2;
% Schrittweite der äquidistanten Verteilung der Punkte
step=0.05;
% Erlaubte Toleranz von Nullstelle und Newton-Näherung
e=10^(-3);
for y=-1:step:1
for x=-1:step:1
%Hilfsvariable
punkt_gemalt = 0;
% Nullstellennäherung für Startwert x+iy berechnen
nst = newton(@(z) [mm] z^3-1, [/mm] @(z) [mm] 3*z^2, [/mm] x+i*y,10^(-5),50);
%Punkte zeichnen
if real(z1)-e <= real(nst) && real(z1)+e >= real(nst) ...
&& imag(z1)-e <=imag(nst) && imag(z1)+e >= imag(nst)
scatter(x,y,80,[1,0,0],'filled');
hold on;
punkt_gemalt=1;
end
if real(z2)-e <= real(nst) && real(z2)+e >= real(nst) ...
&& imag(z2)-e <=imag(nst) && imag(z2)+e >= imag(nst)
scatter(x,y,80,[0,1,0],'filled');
hold on;
punkt_gemalt=1;
end
if real(z3)-e <= real(nst) && real(z3)+e >= real(nst) ...
&& imag(z3)-e <=imag(nst) && imag(z3)+e >= imag(nst)
scatter(x,y,80,[0,0,1],'filled');
hold on;
punkt_gemalt=1;
end
if punkt_gemalt == 0
scatter(x,y,80,[1,1,1],'filled');
hold on;
end
clear nst, punkt_gemalt;
end
end
Vielen Dank für eure Hilfe.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Mo 28.05.2012 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|