1.4.2小节介绍了描述几何模型的3个重要矩阵。前面两种方法通过在pdetool工具中鼠标绘制或通过PDE函数绘制后自动生成了这3个矩阵。实际上,可以通过代码直接构造这3个矩阵,并完成建模的后续操作。
【例9】在命令窗口输入下面的代码:
code.matlab
>> R1=[3,4,-0.9638,0.8717,0.8717,-0.9638,0.5312,0.5312,-0.4589,-0.4589 ]'; %矩形区域
>> E1=[4,-0.0082,0.0296,0.4424,0.1859]'; %椭圆区域
>> E1=[E1;zeros(length(R1)-length(E1),1)]; %大小补齐
>> gd=[R1,E1]; %几何描述矩阵
>> sf='R1-E1'; %sf矩阵
>> ns=char('R1','E1'); %名称空间矩阵
>> ns=ns';
使用decsg函数进行子域分解。
code.matlab
>> dl=decsg(gd,sf,ns);
创建PDE模型并设置其几何模型。
code.matlab
>> model=createpde;
>> gp=geometryFromEdges(model,dl);
绘制几何模型的图形,显示边标签和面标签。
code.matlab
>> pdegplot(model,'EdgeLabels','on','FaceLabels','on')
生成与图4-2一样的几何模型。