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

📄 fixmesh.m

📁 有限元求解possion方程的matlab代码
💻 M
字号:
function [p, t]=fixmesh(p,t)% FIXMESH deletes double points produced in distmesh2d%   [p, t] = fixmesh(p,t) deletes double points produced by distmesh2d. It%   also adjusts the triangulation matrix t accordingly. Points in t are%   also permuted to produce counter clockwise oriented triangles.%%   M. Truffer, Oct. 2004%%   see also: DISTMESH2D% check for doublesNp=size(p,1); dble=zeros(1,Np);for i=1:Np-1    for j=i+1:Np         if norm(p(i,:)-p(j,:))==0,             dble(j)=1;        end     end end% delete the second point of any doubles (t only seems to refer to the% first point)i=1;while i<=size(dble,2)    if dble(i)         p(i,:)=[];         [I J]=find(t>i);        % all points > i need to be reduced by 1.        for k=1:size(I,1)            t(I(k),J(k))=t(I(k),J(k))-1;         end        dble(i)=[];     end    i=i+1; end% check for the order of nodes in a triangle. If clockwise permute node 2% and 3for q=1:size(t,1)    j=t(q,1); k=t(q,2); l=t(q,3);    b2=p(l,2)-p(j,2); b3=p(j,2)-p(k,2);     c2=-p(l,1)+p(j,1); c3=-p(j,1)+p(k,1);    twoA=b2*c3-c2*b3;    if twoA<0        t(q,2)=l; t(q,3)=k;      end end

⌨️ 快捷键说明

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