matlab中initmesh可以更改求解区域吗?求解答

matlab中initmesh生成的网格默认是[-1,1],能否更改成[0,1]

你好,你说的是这种初始网格吗?

g = decsg([2,4,0,1,1,0,0,0,1,1]');
[p,e,t] = initmesh(g,'hmax',inf,'init','on');
patch('vertices', p', 'faces', t(1:3, :)',...
    'facecolor', 'interp',...
    'facevertexcdata', p(1,:)')

img

要是细化网格的话可以用refinemesh

g = decsg([2,4,0,1,1,0,0,0,1,1]'); % 构造[0,0,1,1]集合区域

figure(1);clf
[p,e,t] = initmesh(g,'hmax',inf); 
subplot(2,2,1), pdemesh(p,e,t) 

[p,e,t] = refinemesh(g,p,e,t); 
subplot(2,2,2), pdemesh(p,e,t) 

[p,e,t] = refinemesh(g,p,e,t); 
subplot(2,2,3), pdemesh(p,e,t) 

[p,e,t] = refinemesh(g,p,e,t); 
subplot(2,2,4), pdemesh(p,e,t) 


img