Geometry function - domain sketch
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi, I am trying to sketch the domain for PDE solver. It is similar to the example function CIRCLEFUNCTION.m.
My domain has four edges. Left and right edges are parallel to the y-axis. Top and bottom edges are curves:
I have following so far:
________________________
function [x,y]= dom(bs,s)
if nargin = = 0
x=4;
end
if nargin = = 1
A=[ 0, 1, 1, 0 ;
1, 1, 0 , 0 ;
1, 1, 1, 1 ;
0, 0, 0, 0]
I don't know where to go from there. I read examples online, but they are complicated.
You could choose curves connecting top vertices and bottom vertices to be simple quadratic curves, vertices are (0,0), (1,0), (1,1), (0,1).
Thank you!
Sandy
댓글 수: 2
채택된 답변
darova
2020년 3월 21일
Try pdepoly
x = 0:0.1:1;
y = x.^2-x+1;
x = [0 x 1];
y = [0 y 0];
pdepoly(x,y)
댓글 수: 9
darova
2020년 3월 22일
What about this?
x= 0:0.1:1;
y= x.^2-x+1;
x=[0 x 1];
y=[0 y 0];
pdepoly(x,y);
pdetool('initmesh')
% pdetool('refine')
darova
2020년 3월 22일
Maybe it would be helpful
x= 0:0.1:1;
y= x.^2-x+1;
x=[0 x 1];
y=[0 y 0];
gd = [2;length(x);x(:);y(:)]; % geometry description matrix
dl = decsg(gd); % decompose matrix
[p,e,t] = initmesh(dl); % create mesh
subplot(121)
pdemesh(p,e,t)
axis equal
subplot(122)
[p1,e1,t1] = refinemesh(dl,p,e,t);
pdemesh(p1,e1,t1)
axis equal
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Geometry and Mesh에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!