⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 displs.m

📁 nn modelling and auto-pid controller
💻 M
字号:
function h = dispLS(ls, vs, plotType, aspectRatio)% dispLS(ls, vs, plotType)%% does the actual display of a level set function to the screen% in some cases, a handle to the displayed object is returned%% this code used to be part of plotLS, but has now been split off%    to allow other callers%% Ian Mitchell, 2/21/01% in case h is never seth = [];if(nargin < 4)  aspectRatio = [ 1 1 1 ];end  switch(length(vs))  case 1    plot(vs{1}, ls, '-', vs{1}([ 1 end ]), [ 0 0 ], '--');    xlabel('x');  ylabel('\psi(x)');  case 2    switch(plotType)      case 'surf'        surf(vs{1}, vs{2}, ls);        shading interp;        view(2); daspect([ 1 1 1/25 ]);      otherwise        contour(vs{1}, vs{2}, ls, [ 0 0 ], 'k');        %contour(vs{1}, vs{2}, ls, 0:max(ls(:))/10:max(ls(:)));        %contour(vs{1}, vs{2}, ls, -2.0:0.2:0);        %contour(vs{1}, vs{2}, ls, -1:0.2:1);        %contour(vs{1}, vs{2}, ls, -0.03:0.03:0.03);        axis equal;        axis([ min(vs{1}) max(vs{1}) min(vs{2}) max(vs{2}) ]);        grid on;    end    xlabel('x');  ylabel('y');  case 3    level = 0;    switch(plotType)      case 'slice'        [ gx gy gz ] = meshgrid(vs{1}, vs{2}, vs{3});        nInfVal = find(~isnan(ls));        avgx = mean(gx(nInfVal));        avgy = mean(gy(nInfVal));        avgz = mean(gz(nInfVal));        slice(gx, gy, gz, ls, avgx, avgy, avgz);        [ min(ls(nInfVal)) max(ls(nInfVal)) ]      case 'solid'        h = patch(isosurface(vs{1}, vs{2}, vs{3}, ls, level));        isonormals(vs{1}, vs{2}, vs{3}, ls, h);        set(h, 'FaceColor', 'red', 'EdgeColor', 'none');        camlight left;  camlight right;        lighting phong;      otherwise        h = patch(isosurface(vs{1}, vs{2}, vs{3}, ls, level));        %reducepatch(h, 0.25);        set(h, 'FaceColor', 'none', 'EdgeColor', 'black');    end    axis([ min(vs{1}) max(vs{1}) min(vs{2}) max(vs{2}) ...           min(vs{3}) max(vs{3}) ]);    daspect(aspectRatio);    xlabel('x');  ylabel('y');  zlabel('z');    %view(80, 15);  otherwise    error([ 'Unable to display ' num2str(length(vs)) ' dimensional data.' ]);  end

⌨️ 快捷键说明

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