跳至內容

File:Non-analytic smooth function.png

頁面內容不支援其他語言。
這個檔案來自維基共享資源
維基百科,自由的百科全書

Non-analytic_smooth_function.png (376 × 124 像素,檔案大小:5 KB,MIME 類型:image/png


描述 Illustration of an non-analytic smooth function
日期 (UTC)
來源 self-made with MATLAB
作者 Oleg Alexandrov
其他版本

Image:An infinitely differentiable function which is not analytic illustration.png

Public domain 我,此作品的版權所有人,釋出此作品至公共領域。此授權條款在全世界均適用。
這可能在某些國家不合法,如果是的話:
我授予任何人有權利使用此作品於任何用途,除受法律約束外,不受任何限制。

Source code (MATLAB)

% Illustration of an [[:en:Non-analytic smooth function|non-analytic smooth function]]
function main()

   thickness1=2.5; thickness2=1.5; arrowsize=0.15; arrow_type=1; ball_rad=0.03; arrow_angle=35;
   blue = [0, 129, 205]/256; black=[0 0 0]; fontsize=floor(20); dist=0.01;
   
   a=-1; b=5;
   h=0.01;
   X=a:h:b;
   Y=zeros(length(X), 1);
   for i=1:length(X)
      x=X(i);
      if x <= 0
	 Y(i)=0;
      else 
         Y(i)=exp(-1/x);
      end
   end

   
   figure(1);  clf; hold on; axis equal; axis off

   arrow([a 0], [b+0.2, 0], thickness2, arrowsize, arrow_angle, arrow_type, [0, 0, 0])
   arrow([0 -0.3], [0 2.*max(Y)], thickness2, arrowsize, arrow_angle, arrow_type, [0, 0, 0])
   plot(X, Y, 'linewidth', thickness1, 'color', blue);
   plot(X, 0*Y+1, 'linewidth', thickness2/1.5, 'color', black, 'linestyle', '--');
   arrow([b+0.1 0], [b+0.2, 0], thickness2, arrowsize, arrow_angle, arrow_type, [0, 0, 0])
   
   ball(0, 0, ball_rad, blue); place_text_smartly(0, fontsize, 5, dist, '0');
   ball(0, 1, ball_rad, black); place_text_smartly(sqrt(-1), fontsize, 5, dist, '1');

saveas(gcf, 'Non-analytic_smooth_function.eps', 'psc2')

function place_text_smartly (z, fs, pos, d, tx)
 p=cos(pi/4)+sqrt(-1)*sin(pi/4);
 z = z + p^pos * d * fs; 
 shiftx=0.0003;
 shifty=0.002;
 x = real (z); y=imag(z); 
 H=text(x+shiftx*fs, y+shifty*fs, tx); 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', color);

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
本圖片是以PNG、GIF或JPEG格式上傳。然而,其中包含的資料或訊息,應該重新建立成可縮放向量圖形SVG)檔案,以更有效率或更準確的方式儲存。如有可能,請上傳本圖片的SVG格式版本。在上傳之後,請修改維基各姊妹計畫中所有使用舊版圖片的條目(列在圖像連結章節中),替換為新版圖片,並在舊圖片的描述頁中加入{{Vector version available|新圖片名稱.svg}}模板,同時移除本模板。
本圖片是以PNG、GIF或JPEG格式上傳。然而,其中包含的資料或訊息,應該重新建立成可縮放向量圖形SVG)檔案,以更有效率或更準確的方式儲存。如有可能,請上傳本圖片的SVG格式版本。在上傳之後,請修改維基各姊妹計畫中所有使用舊版圖片的條目(列在圖像連結章節中),替換為新版圖片,並在舊圖片的描述頁中加入{{Vector version available|新圖片名稱.svg}}模板,同時移除本模板。

說明

添加單行說明來描述出檔案所代表的內容

在此檔案描寫的項目

描繪內容

創作作者 Chinese (Hong Kong) (已轉換拼寫)

沒有維基數據項目的某些值

作者姓名字串 繁體中文 (已轉換拼寫):​Oleg Alexandrov
維基媒體使用者名稱 繁體中文 (已轉換拼寫):​Oleg Alexandrov

著作權狀態 繁體中文 (已轉換拼寫)

檔案歷史

點選日期/時間以檢視該時間的檔案版本。

日期/時間縮⁠圖尺寸用戶備⁠註
目前2007年12月3日 (一) 01:02於 2007年12月3日 (一) 01:02 版本的縮圖376 × 124(5 KB)Oleg AlexandrovTweak
2007年12月3日 (一) 01:01於 2007年12月3日 (一) 01:01 版本的縮圖376 × 119(5 KB)Oleg AlexandrovOoops, the previous function was the wrong one
2007年12月3日 (一) 00:56於 2007年12月3日 (一) 00:56 版本的縮圖376 × 138(5 KB)Oleg Alexandrov{{Information |Description=Illustration of an non-analytic smooth function |Source=self-made with MATLAB |Date=~~~~~ |Author= Oleg Alexandrov |Permission=See below |other_versions=[[:Image:An i

下列頁面有用到此檔案:

全域檔案使用狀況

以下其他 wiki 使用了這個檔案: