File:C0 function.png
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Size of this preview: 800 × 534 pixels. Other resolutions: 320 × 213 pixels | 640 × 427 pixels | 1,024 × 683 pixels | 1,153 × 769 pixels.
Original file (1,153 × 769 pixels, file size: 9 KB, MIME type: image/png)
File information
Structured data
Captions
Summary
[edit]DescriptionC0 function.png |
English: The C0 function f(x)=x for x≥0 and 0 otherwise.
Suomi: Jatkuva funktio, joka ei ole derivoituva. Tämä ei ole sileä funktio.
한국어: 이면 f(x) = x, x < 0이면 f(x) = 0. C0이지만 C1은 아닌 함수.
Nederlands: De C0 functie f(x)=x voor x≥0 en anders 0.
Português: A função f(x)=x para x≥0 e 0 caso contrário. |
|||||
Source | Self made, with MATLAB | |||||
Author | Oleg Alexandrov 08:56, 19 July 2007 (UTC) | |||||
Other versions |
|
|||||
PNG development InfoField | This diagram was created with MATLAB. | |||||
Source code InfoField | MATLAB codefunction main()
% set up the plotting window
thick_line=4; thin_line=2; arrow_size=4; arrow_type=2;
fs=30; circrad=0.06;
a=0; b=2/pi; h=0.01; x0=1;
X=-b:h:b;
Y=[0*find(X<0) X(find(X>=0))];
figure(3); clf; hold on; axis equal; axis off;
Q=-0.1;
arrow([Q 0], [b, 0], 1.1*thin_line, arrow_size, pi/8,arrow_type, [0, 0, 0]) % xaxis
arrow([0 Q], [0, 0.9*b], thin_line, arrow_size, pi/8,arrow_type, [0, 0, 0]); % y axis
plot(X, Y, 'linewidth', thick_line);
axis ([-0.6*b, b, -0.3, 0.9*b]);
saveas(gcf, 'C0_function.eps', 'psc2');
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
|
Public domainPublic domainfalsefalse |
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. |
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:21, 22 April 2007 | 1,153 × 769 (9 KB) | Oleg Alexandrov (talk | contribs) | {{Information |Description= |Source= |Date= |Author= }} | |
16:19, 22 April 2007 | 1,153 × 769 (9 KB) | Oleg Alexandrov (talk | contribs) | {{Information |Description= |Source= |Date= |Author= }} {{PD-self}} | ||
16:18, 22 April 2007 | 1,153 × 769 (9 KB) | Oleg Alexandrov (talk | contribs) | {{Information |Description= |Source= |Date= |Author= }} {{PD-self}} | ||
16:16, 22 April 2007 | 1,153 × 769 (8 KB) | Oleg Alexandrov (talk | contribs) | {{Information |Description= |Source= |Date= |Author= }} {{PD-self}} |
You cannot overwrite this file.
File usage on Commons
The following page uses this file: