📄 grid.m
字号:
function mesh=mygrid(eps)
N=4;
x=zeros(N+1,1);y=zeros(N+1,1);trig=zeros(2*N^2, 3);
nod=zeros((N+1)^2, 2);bry=zeros(4*N,2);
tx=min(1/2,2*eps*log(N));ty= min(1/4,2*eps^(1/2)*log(N));
for i=2:(N+1)
if i <= N/2+1
x(i) = x(i-1)+2*(1-tx)/N;
else
x(i)= x(i-1)+2*tx/N;
end
if i <=N/4+1
y(i) = y(i-1)+4*ty/N;
else
if i <=3*N/4+1
y(i)= y(i-1)+2*(1-2*ty)/N;
else
y(i) = y(i-1)+4*ty/N;
end
end
end
for k=1: (N+1)^2
if mod(k,N+1)==0
nod(k,:)=[x(N+1),y(k/(N+1))];
else
nod(k,:)=[x(mod(k,N+1)),y((k- mod(k,N+1))/(N+1)+1)];
end
end
for k=1: 2*N^2
if mod(k,2)==0
trig(k,:)=[k/2+((k)/2-mod((k)/2,N+1))/(N+1),k/2+1+((k)/2-mod((k)/2,N+1))/(N+1), k/2+N+2+((k)/2-mod((k)/2,N+1))/(N+1)];
else
trig(k,:)=[(k+1)/2+((k+1)/2-mod((k+1)/2,N+1))/(N+1),(k+1)/2+((k+1)/2-mod((k+1)/2,N+1))/(N+1)+N+2, (k+1)/2+((k+1)/2-mod((k+1)/2,N+1))/(N+1)+N+1];
end
end
for i=1:N
bry(i,:)=[i,i+1];
bry(N+i,:)=[i*(N+1),(i+1)*(N+1)];
bry(2*N+i,:)=[(N+1)^2+1-i, (N+1)^2-i];
bry(3*N+i,:)=[1+(N+1-i)*(N+1), 1+(N-i)*(N+1)];
end
nod
trig
bry
mesh=getmesh(nod, trig , bry ,[])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -