56 lines
1.4 KiB
Matlab
56 lines
1.4 KiB
Matlab
function maxE=plotE2(node,elem,BFaces,FacesOfElements,E,figureNum,alpha)
|
|
|
|
%面坐标
|
|
xx=[node(elem(:,1),1)';node(elem(:,2),1)';node(elem(:,3),1)'];
|
|
yy=[node(elem(:,1),2)';node(elem(:,2),2)';node(elem(:,3),2)'];
|
|
zz=[node(elem(:,1),3)';node(elem(:,2),3)';node(elem(:,3),3)'];
|
|
EE=zeros(3,length(elem));
|
|
%面所在体
|
|
Index=zeros(length(elem),2);
|
|
Index2=zeros(length(elem),3);
|
|
for i=1:length(elem)
|
|
temp=find(ismember(BFaces,elem(i,:),'rows'));
|
|
n=find(FacesOfElements==temp);
|
|
n=n(1,1);
|
|
Index(i,1)=fix((n-1)/4)+1;
|
|
Index(i,2)=n-(Index(i,1)-1)*4;
|
|
|
|
if Index(i,2)==1
|
|
Index2(i,1)=1;Index2(i,2)=2;Index2(i,3)=3;
|
|
elseif Index(i,2)==2
|
|
Index2(i,1)=1;Index2(i,2)=2;Index2(i,3)=4;
|
|
elseif Index(i,2)==3
|
|
Index2(i,1)=1;Index2(i,2)=3;Index2(i,3)=4;
|
|
elseif Index(i,2)==4
|
|
Index2(i,1)=2;Index2(i,2)=3;Index2(i,3)=4;
|
|
end
|
|
|
|
for j=1:3
|
|
EE(j,i)=E(Index(i,1),Index2(i,j));
|
|
end
|
|
end
|
|
maxE=max(EE);
|
|
maxE=max(maxE);
|
|
%绘制图像
|
|
figure(figureNum);
|
|
h1=fill3(xx,yy,zz,EE);
|
|
set(h1,'edgecolor','black','edgealpha',alpha);
|
|
shading interp %插值绘制
|
|
% axis equal; axis tight;
|
|
|
|
%坐标轴
|
|
xlabel('X');
|
|
ylabel('Y');
|
|
zlabel('Z');
|
|
|
|
%colorbar设置
|
|
colorbar;
|
|
colormap jet;
|
|
% if min(real(E))==max(real(E))
|
|
% delta=min(real(E))*0.01;
|
|
% caxis([min(real(E))-delta max(real(E))+delta]);
|
|
% else
|
|
% caxis([min(real(E)) max(real(E))]);
|
|
% end
|
|
|
|
end |