File:Discontinuity jump.eps.png
Originaldatei (2.122 × 1.978 Pixel, Dateigröße: 81 KB, MIME-Typ: image/png)
Bildtexte
Übertragen aus en.wikipedia nach Commons durch Maksim.
Inhaltsverzeichnis
Beschreibung
[Bearbeiten]Made by me with matlab. {PD.}
Lizenz
[Bearbeiten]Public domainPublic domainfalsefalse |
Ich, der Urheberrechtsinhaber dieses Werkes, veröffentliche es als gemeinfrei. Dies gilt weltweit. In manchen Staaten könnte dies rechtlich nicht möglich sein. Sofern dies der Fall ist: Ich gewähre jedem das bedingungslose Recht, dieses Werk für jedweden Zweck zu nutzen, es sei denn, Bedingungen sind gesetzlich erforderlich. |
Source code (MATLAB)
[Bearbeiten]
function discontinuity()
% set up the plotting window
thick_line=2.5; thin_line=2; arrow_size=14; arrow_type=2;
fs=30; circrad=0.06;
% picture 1
a=-1.5; b=3; h=0.02; x0=1;
X1=a:h:x0; X2=x0:h:b; X=[X1 X2];
Y1=X1.^2; Y2=Y1(length(Y1))+(-1)*(X2-X2(1)); Y=[Y1 Y2]; y01=Y1(length(Y1)); y02=Y2(1);
figure(1); clf; hold on; axis equal; axis off;
axes_points(a, b, thin_line, thick_line, arrow_size, arrow_type, x0, y01, y02, circrad, fs, X, Y, X1, Y1, X2, Y2)
saveas(gcf, 'discontinuity_removable.eps', 'psc2')
% picture 2
a=-1.5; b=3; h=0.02; x0=1;
X1=a:h:x0; X2=x0:h:b; X=[X1 X2];
Y1=X1.^2; Y2=2-(X2-x0).^2; Y=[Y1 Y2]; y01=Y1(length(Y1)); y02=Y2(1);
figure(2); clf; hold on; axis equal; axis off;
axes_points(a, b, thin_line, thick_line, arrow_size, arrow_type, x0, y01, y02, circrad, fs, X, Y, X1, Y1, X2, Y2)
saveas(gcf, 'discontinuity_jump.eps', 'psc2')
% picture 3
a=-1.5; b=3; h=0.001; x0=1;
X1=a:h:x0; X2=x0:h:b; X=[X1 X2];
Y1=sin(5./(X1-x0-eps)); Y2=0.1./(X2-x0+50*h); Y=[Y1 Y2]; y01=Y1(length(Y1)); y02=Y2(1);
figure(3); clf; hold on; axis equal; axis off;
axes_points2(a, b, thin_line, thick_line, arrow_size, arrow_type, x0, NaN, NaN, circrad, fs, X, Y, X1, Y1, X2, Y2)
saveas(gcf, 'discontinuity_essential.eps', 'psc2')
disp('Converting to png...')
! convert -density 400 -antialias discontinuity_removable.eps discontinuity_removable.png
! convert -density 400 -antialias discontinuity_jump.eps discontinuity_jump.png
! convert -density 400 -antialias discontinuity_essential.eps discontinuity_essential.png
function axes_points(a, b, thin_line, thick_line, arrow_size, arrow_type, x0, y01, y02, circrad, fs, X, Y, X1, Y1, X2, Y2)
arrow([a 0], [b, 0], thin_line, arrow_size, pi/8,arrow_type, [0, 0, 0]) % xaxis
small=0.2; arrow([0, min(Y)], [0, max(Y)], thin_line, arrow_size, pi/8,arrow_type, [0, 0, 0]); % y axis
plot(X1, Y1, 'linewidth', thick_line); plot(X2, Y2, 'linewidth', thick_line)
ball(x0, 0, circrad, [0 0 1 ]);
ball_empty(x0, y01, thick_line, circrad, [1 0 0 ]); ball_empty(x0, y02, thick_line, circrad, [1 0 0 ]);
H=text(x0, -0.006*fs, 'x_0'); set(H, 'fontsize', fs, 'HorizontalAlignment', 'c', 'VerticalAlignment', 'c')
function axes_points2(a, b, thin_line, thick_line, arrow_size, arrow_type, x0, y01, y02, circrad, fs, X, Y, X1, Y1, X2, Y2)
arrow([a 0], [b, 0], thin_line, arrow_size, pi/8,arrow_type, [0, 0, 0]) % xaxis
small=0.2; arrow([0, min(Y)], [0, max(Y)], thin_line, arrow_size, pi/8,arrow_type, [0, 0, 0]); % y axis
plot(X1, Y1, 'linewidth', thick_line); plot(X2, Y2, 'linewidth', thick_line)
ball(x0, 0, circrad, [0 0 1 ]);
ball_empty(x0, y01, thick_line, circrad, [1 0 0 ]); ball_empty(x0, y02, thick_line, circrad, [1 0 0 ]);
H=text(x0+0.2, -0.006*fs, 'x_0'); set(H, 'fontsize', fs, 'HorizontalAlignment', 'c', 'VerticalAlignment', 'c')
function ball(x, y, r, color)
Theta=0:0.1:2*pi;
X=r*cos(Theta)+x;
Y=r*sin(Theta)+y;
H=fill(X, Y, color);
set(H, 'EdgeColor', 'none');
function ball_empty(x, y, thick_line, r, color)
Theta=0:0.1:2*pi;
X=r*cos(Theta)+x;
Y=r*sin(Theta)+y;
H=fill(X, Y, [1 1 1]);
%set(H, 'EdgeColor', color);
plot(X, Y, 'color', color, 'linewidth', thick_line);
function arrow(start, stop, thickness, arrowsize, sharpness, arrow_type, color)
% draw a line with an arrow at the end
% start is the x,y point where the line starts
% stop is the x,y point where the line stops
% thickness is an optional parameter giving the thickness of the lines
% arrowsize is an optional argument that will give the size of the arrow
% It is assumed that the axis limits are already set
% 0 < sharpness < pi/4 determines how sharp to make the arrow
% arrow_type draws the arrow in different styles. Values are 0, 1, 2, 3.
% 8/4/93 Jeffery Faneuff
% Copyright (c) 1988-93 by the MathWorks, Inc.
% Modified by Oleg Alexandrov 2/16/03
if nargin <=6
color=[0, 0, 0];
end
if (nargin <=5)
arrow_type=0; % the default arrow, it looks like this: ->
end
if (nargin <=4)
sharpness=pi/4; % the arrow sharpness - default = pi/4
end
if nargin<=3
xl = get(gca,'xlim');
yl = get(gca,'ylim');
xd = xl(2)-xl(1);
yd = yl(2)-yl(1);
arrowsize = (xd + yd) / 2; % this sets the default arrow size
end
if (nargin<=2)
thickness=0.5; % default thickness
end
xdif = stop(1) - start(1);
ydif = stop(2) - start(2);
if (xdif == 0)
if (ydif >0)
theta=pi/2;
else
theta=-pi/2;
end
else
theta = atan(ydif/xdif); % the angle has to point according to the slope
end
if(xdif>=0)
arrowsize = -arrowsize;
end
if (arrow_type == 0) % draw the arrow like two sticks originating from its vertex
xx = [start(1), stop(1),(stop(1)+0.02*arrowsize*cos(theta+sharpness)),NaN,stop(1),...
(stop(1)+0.02*arrowsize*cos(theta-sharpness))];
yy = [start(2), stop(2), (stop(2)+0.02*arrowsize*sin(theta+sharpness)),NaN,stop(2),...
(stop(2)+0.02*arrowsize*sin(theta-sharpness))];
plot(xx,yy, 'LineWidth', thickness, 'color', color)
end
if (arrow_type == 1) % draw the arrow like an empty triangle
xx = [stop(1),(stop(1)+0.02*arrowsize*cos(theta+sharpness)), ...
stop(1)+0.02*arrowsize*cos(theta-sharpness)];
xx=[xx xx(1) xx(2)];
yy = [stop(2),(stop(2)+0.02*arrowsize*sin(theta+sharpness)), ...
stop(2)+0.02*arrowsize*sin(theta-sharpness)];
yy=[yy yy(1) yy(2)];
plot(xx,yy, 'LineWidth', thickness, 'color', color)
% plot the arrow stick
plot([start(1) stop(1)+0.02*arrowsize*cos(theta)*cos(sharpness)], [start(2), stop(2)+ ...
0.02*arrowsize*sin(theta)*cos(sharpness)], 'LineWidth', thickness, 'color', color)
end
if (arrow_type==2) % draw the arrow like a full triangle
xx = [stop(1),(stop(1)+0.02*arrowsize*cos(theta+sharpness)), ...
stop(1)+0.02*arrowsize*cos(theta-sharpness),stop(1)];
yy = [stop(2),(stop(2)+0.02*arrowsize*sin(theta+sharpness)), ...
stop(2)+0.02*arrowsize*sin(theta-sharpness),stop(2)];
H=fill(xx, yy, color);% fill with black
set(H, 'EdgeColor', 'none')
% plot the arrow stick
plot([start(1) stop(1)+0.01*arrowsize*cos(theta)], [start(2), stop(2)+ ...
0.01*arrowsize*sin(theta)], 'LineWidth', thickness, 'color', color)
end
if (arrow_type==3) % draw the arrow like a filled 'curvilinear' triangle
curvature=0.5; % change here to make the curved part more curved (or less curved)
radius=0.02*arrowsize*max(curvature, tan(sharpness));
x1=stop(1)+0.02*arrowsize*cos(theta+sharpness);
y1=stop(2)+0.02*arrowsize*sin(theta+sharpness);
x2=stop(1)+0.02*arrowsize*cos(theta)*cos(sharpness);
y2=stop(2)+0.02*arrowsize*sin(theta)*cos(sharpness);
d1=sqrt((x1-x2)^2+(y1-y2)^2);
d2=sqrt(radius^2-d1^2);
d3=sqrt((stop(1)-x2)^2+(stop(2)-y2)^2);
center(1)=stop(1)+(d2+d3)*cos(theta);
center(2)=stop(2)+(d2+d3)*sin(theta);
alpha=atan(d1/d2);
Alpha=-alpha:0.05:alpha;
xx=center(1)-radius*cos(Alpha+theta);
yy=center(2)-radius*sin(Alpha+theta);
xx=[xx stop(1) xx(1)];
yy=[yy stop(2) yy(1)];
H=fill(xx, yy, color);% fill with black
set(H, 'EdgeColor', 'none')
% plot the arrow stick
plot([start(1) center(1)-radius*cos(theta)], [start(2), center(2)- ...
radius*sin(theta)], 'LineWidth', thickness, 'color', color);
end
date/time | username | edit summary |
---|---|---|
04:49, 5 December 2005 | en:User:Oleg Alexandrov | (clean up code) |
00:01, 22 November 2005 | en:User:Oleg Alexandrov | (+ source code) |
00:52, 12 September 2005 | en:User:Oleg Alexandrov | (Made by me with matlab. {PD.}) |
Ursprüngliches Datei-Logbuch
[Bearbeiten]Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version.
Click on date to download the file or see the image uploaded on that date.
- (del) (cur) 10:30, 20 January 2006 . . DavidHouse ( en:User_talk:DavidHouse Talk) . . 318x297 (10408 bytes) (Reverted to earlier revision)
- (del) (rev) 10:30, 20 January 2006 . . DavidHouse ( en:User_talk:DavidHouse Talk) . . 317x297 (8531 bytes) (Reverted to earlier revision)
- (del) (rev) 01:28, 12 September 2005 . . en:User:Oleg_Alexandrov Oleg Alexandrov ( en:User_talk:Oleg_Alexandrov Talk) . . 318x297 (10408 bytes)
- (del) (rev) 00:52, 12 September 2005 . . en:User:Oleg_Alexandrov Oleg Alexandrov ( en:User_talk:Oleg_Alexandrov Talk) . . 317x297 (8531 bytes) (Made by me with matlab. { PD. })
derivative works
[Bearbeiten]Abgeleitete Werke dieser Datei: Not defined at x0.svg
Dieses Bild des Typs Math sollte als Vektorgrafik im SVG-Format neu erstellt werden. Vektorformate haben zahlreiche Vorteile; weitere Information unter Commons:Media for cleanup. Wenn dir eine SVG-Version dieses Bildes vorliegt, so lade diese bitte hoch. Nach dem Hochladen der Datei ist diese Vorlage auf der aktuellen Bildbeschreibungsseite durch die Vorlage {{Vector version available}}, oder kürzer {{Vva}}, zu ersetzen. Es ist empfohlen die neue SVG-Datei „Discontinuity jump.eps.svg“ zu nennen – dann benötigt die Vorlage vector version available (bzw. vva) keinen Parameter.
|
Dateiversionen
Klicke auf einen Zeitpunkt, um diese Version zu laden.
Version vom | Vorschaubild | Maße | Benutzer | Kommentar | |
---|---|---|---|---|---|
aktuell | 04:17, 11. Jul. 2013 | 2.122 × 1.978 (81 KB) | Oleg Alexandrov (Diskussion | Beiträge) | Made the point on the axis blue, per request, this is how it should be. | |
18:09, 18. Mär. 2006 | 318 × 297 (10 KB) | Maksim (Diskussion | Beiträge) | La bildo estas kopiita de wikipedia:en. La originala priskribo estas: == Summary == Made by me with matlab. {PD.} == Licensing == {{PD-self}} ==Source code (Matlab) == <pre> <nowiki> function discontinuity() % graph a function which has discontin |
Du kannst diese Datei nicht überschreiben.
Dateiverwendung
Die folgenden 3 Seiten verwenden diese Datei:
Globale Dateiverwendung
Die nachfolgenden anderen Wikis verwenden diese Datei:
- Verwendung auf beta.wikiversity.org
- Verwendung auf de.wikipedia.org
- Verwendung auf en.wikipedia.org
- Verwendung auf en.wikibooks.org
- Verwendung auf eo.wikipedia.org
- Verwendung auf es.wikipedia.org
- Verwendung auf fa.wikipedia.org
- Verwendung auf fr.wikipedia.org
- Verwendung auf he.wikipedia.org
- Verwendung auf it.wikipedia.org
- Verwendung auf ja.wikipedia.org
- Verwendung auf ko.wikipedia.org
- Verwendung auf lmo.wikipedia.org
- Verwendung auf nl.wikipedia.org
- Verwendung auf no.wikipedia.org
- Verwendung auf ru.wikipedia.org
- Verwendung auf sv.wikipedia.org
- Verwendung auf tl.wikipedia.org
- Verwendung auf www.wikidata.org
- Verwendung auf zh.wikipedia.org
Metadaten
Diese Datei enthält weitere Informationen, die in der Regel von der Digitalkamera oder dem verwendeten Scanner stammen. Durch nachträgliche Bearbeitung der Originaldatei können einige Details verändert worden sein.
Horizontale Auflösung | 400 dpc |
---|---|
Vertikale Auflösung | 400 dpc |
- Pages using deprecated source tags
- PNG created with MATLAB
- Self-published work
- PD-self
- Files with derivative versions
- Files by User:Oleg Alexandrov from en.wikipedia
- Math images that should use vector graphics
- PNG that should use vector graphics
- Media missing infobox template
- Files with no machine-readable author
- Files with no machine-readable source