plotscaling.m

来自「一本很简单」· M 代码 · 共 62 行

M
62
字号
function PlotScaling(dmax, j, save)% PlotScaling(dmax, j, save) plots B-spline scaling functions of degrees 0% through dmax at level j.  If save is present, the plot is saved in an EPS% file.figure(1);clg;hold on;j = j + 1;n = 20;         % samples per intervalhspacing = 1.4; % horizontal spacing between functionshsize = 0.8;    % horizontal size of each functionvspacing = 0.6; % vertical spacing between functionsvsize = 0.4;    % vertical sizevgap = vspacing - vsize;for d = 0:dmax  c = vsize*FindP(d, j);  [m1, m2] = size(c);  clear f;  for k = 1:m2    f(k,:) = EvalCombo(d, j, c(:,k), n) + vgap/2 + vspacing*(m2/2 - k);  end;  x = hsize*XVec(d, j, n) + d*hspacing;  xl = [0, 0, hsize] + d*hspacing;  yl = vgap/2 + vspacing*(m2/2 - [[1:m2]-vsize/vspacing; 1:m2; 1:m2]);  plot(xl, yl, 'w');  plot(x, f, 'w', 'LineWidth', 2);end;hold off;axis equal;axis off;if nargin > 2  filename = sprintf('spline-all-scaling-lev%i.ps', j-1);  disp(['Saving EPS to "' filename '"...']);  print('-deps', filename);  % Latex stuff:  disp(['    \begin{picture}(' num2str(dmax*hspacing + hsize) ',' ...	  num2str(vspacing*(m2 + 0.5) - vgap) ')(0,' ...	  num2str(vgap/2 - vspacing*(m2/2 + 0.5)) ')']);  disp(['      \putbl{0,' num2str(vgap/2 - vspacing*m2/2) ...	  '}{\psfig{file=' filename ',width=' ...	  num2str(dmax*hspacing + hsize) 'in}}']);  for d = 0:dmax    m2 = 2^(j-1)+d;    for k = 1:m2      disp(['      \putr{' num2str(d*hspacing) ',' ...	      num2str((vgap + vsize)/2 + vspacing*(m2/2 - k)) ...	      '}{$N^' num2str(d) '_' num2str(k - 1) '\;$}']);    end;    disp(['      \putb{' num2str(d*hspacing + hsize/2) ',' ...	    num2str(vgap/2 - vspacing*(m2/2 + 0.5)) ...	    '}{\small degree ' num2str(d) '}']);  end;end;return;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?