File:Quasiconvex function.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Quasiconvex_function.png (501 × 358 pixels, file size: 11 KB, MIME type: image/png)

Captions

Captions

Add a one-line explanation of what this file represents

Summary

[edit]
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 “Quasiconvex function.svg”—then the template Vector version available (or Vva) does not need the new image name parameter.
Description
English: Quasiconvex function
Source Own work, created by myself with MATLAB.
Author user:Oleg Alexandrov

Licensing

[edit]
Public domain 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 (MATLAB)

[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;

X=(-L):0.01:(L 0.4);
Y=sqrt(abs(X-0.2)) 0.2;

arrow([-L 0], [L 0.4, 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) 
plot(X, Y, 'linewidth', thick_line)

saveas(gcf, 'Quasiconvex_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 “Quasiconvex 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/TimeThumbnailDimensionsUserComment
current19:33, 27 January 2007Thumbnail for version as of 19:33, 27 January 2007501 × 358 (11 KB)Oleg Alexandrov (talk | contribs)Created by myself with MATLAB.

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file: