精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑精品文档---下载后可任意编辑%对于 d2u/dx2=f 的 FEM 解算器,其中 f=x*(1-x)%%边界条件 u(0)=0, u(1)=0
%精确解用以比对xx=linspace(0,1,101);%产生 0-1 之间的均分指令,101 为元素个数uex=(1/6)
^3-(1/12)
^4-(1/12)
*xx;%对力项设置高斯点的数目NGf=2;if (NGf==2)xiGf=[-1/sqrt(3);1/sqrt(3)];%ξ1、ξ2的值aGf=[1 1];else,NGf=1;xiGf=[0
0];aGf=[2
0];精品文档---下载后可任意编辑end%单元数目Ne=5;%建立网格节点x=linspace(0,1,Ne+1);%零刚性矩阵K=zeros(Ne+1,Ne+1);b=zeros(Ne+1,1);%对所有单元循环计算刚性和残差for ii=1:Ne,kn1=ii;kn2=ii+1;x1=x(kn1);x2=x(kn2);dx=x2-x1;%每一个单元的长度dxidx=2/dx;%dξ/dxdxdxi=1/dxidx;%dx/dξdN1dxi=-1/2;%dζ1/dξdN2dxi=1/2;%dζ2/dξdN1dx=dN1dxi*dxidx;%-1/(xj-xj-1)dN2dx=dN2dxi*dxidx;%1/(xj-xj-1)K(kn1,kn1)=K(kn1,kn1)-2*dN1dx*dN1dx*dxdxi;%Rj 的第二项K(kn1,kn2)=K(kn1,kn2)-2*