File:Nonquasiconvex function.png
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Nonquasiconvex_function.png (472 × 396 pixels, file size: 14 KB, MIME type: image/png)
File information
Structured data
Captions
Summary
[edit]Made by myself with MATLAB
This graph image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with
{{vector version available|new image name}} .
It is recommended to name the SVG file “Nonquasiconvex function.svg”—then the template Vector version available (or Vva) does not need the new image name parameter. |
Licensing
[edit]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. |
Source code
[edit]function main() % prepare the scrreen and define some parameters clf; hold on; axis equal; axis off; fontsize=25; thick_line=3; thin_line=2; black=[0, 0, 0]; red=[1, 0, 0]; arrowsize=0.1; arrow_type=1; arrow_angle=30; % (angle in degrees) L=1.15; X=(-L):0.01:(L); f=inline('2*(X.^4-X.^2+1)-1.3'); Y=f(X); plot(X, Y, 'linewidth', thick_line) arrow([X(1) 0], [X(length(X)), 0], thin_line, arrowsize, arrow_angle, arrow_type, black) arrow([0 min(Y)-0.4], [0 max(Y)+0.2], thin_line, arrowsize, arrow_angle, arrow_type, black) a=0.5; Z=X*0+a; plot(X, Z, 'linewidth', thin_line, 'linestyle', '--', 'color', 'r'); x0=-10; for i=2:(length(X)-1) x=X(i); xp=X(i-1); if x < 0 & f(x) < a & f(xp) >= a x0=x; elseif x < 0 & f(x) >= a & f(xp) < a x1=x; elseif x > 0 & f(x) <= a & f(xp) > a x2=x; elseif x > 0 & f(x) >= a & f(xp) < a x3=x; end end plot([x0, x1], [0, 0], 'linewidth', 2*thick_line, 'color', 'r'); plot([x2, x3], [0, 0], 'linewidth', 2*thick_line, 'color', 'r'); saveas(gcf, 'Nonquasiconvex_function.eps', 'psc2') % export to eps function arrow(start, stop, thickness, arrow_size, sharpness, arrow_type, color) % Function arguments: % start, stop: start and end coordinates of arrow, vectors of size 2 % thickness: thickness of arrow stick % arrow_size: the size of the two sides of the angle in this picture -> % sharpness: angle between the arrow stick and arrow side, in degrees % arrow_type: 1 for filled arrow, otherwise the arrow will be just two segments % color: arrow color, a vector of length three with values in [0, 1] % convert to complex numbers i=sqrt(-1); start=start(1)+i*start(2); stop=stop(1)+i*stop(2); rotate_angle=exp(i*pi*sharpness/180); % points making up the arrow tip (besides the "stop" point) point1 = stop - (arrow_size*rotate_angle)*(stop-start)/abs(stop-start); point2 = stop - (arrow_size/rotate_angle)*(stop-start)/abs(stop-start); if arrow_type==1 % filled arrow % plot the stick, but not till the end, looks bad t=0.5*arrow_size*cos(pi*sharpness/180)/abs(stop-start); stop1=t*start+(1-t)*stop; plot(real([start, stop1]), imag([start, stop1]), 'LineWidth', thickness, 'Color', color); % fill the arrow H=fill(real([stop, point1, point2]), imag([stop, point1, point2]), color); set(H, 'EdgeColor', 'none') else % two-segment arrow plot(real([start, stop]), imag([start, stop]), 'LineWidth', thickness, 'Color', color); plot(real([stop, point1]), imag([stop, point1]), 'LineWidth', thickness, 'Color', color); plot(real([stop, point2]), imag([stop, point2]), 'LineWidth', thickness, 'Color', color); end
This math image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with
{{vector version available|new image name}} .
It is recommended to name the SVG file “Nonquasiconvex function.svg”—then the template Vector version available (or Vva) does not need the new image name parameter. |
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 20:26, 27 January 2007 | 472 × 396 (14 KB) | Oleg Alexandrov (talk | contribs) | Made by myself with MATLAB |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on de.wikipedia.org
- Usage on en.wikipedia.org
- Usage on fa.wikipedia.org
- Usage on fr.wikipedia.org
- Usage on pt.wikipedia.org
- Usage on ru.wikipedia.org
- Usage on uk.wikipedia.org
- Usage on zh.wikipedia.org
Structured data
Items portrayed in this file
depicts
Hidden categories: