function plotDis(i, r,OutputRs, type) %为便于作图进行前处理 figure('color','w') [ downgrid, frontgrid ,leftgrid, rightgrid, backgrid, upgrid ] = preplot_dis( r ); coordinate=r.coordinates; nodes=r.nodes; % nmc = size(nodes,1);%基质网格数量 % % nel = size(nodes,2);%每个基质网格所包含的点数量 % order=[1,2,4,3,1,5,6,8,7,3,4,8,6,2,1];%用以fill函数作图 % nel=size(order,2); if type == 1 v = OutputRs{i}.p; elseif type == 2 v = 1-OutputRs{i}.sw;%含油饱和度 elseif type == 3 v = OutputRs{i}.sg;%含油饱和度 else v = OutputRs{i}.sw;%含油饱和度 end % 底面 order=[1,2,4,3,1]; nel=size(order,2); nmc=size(downgrid,2); dis = zeros(nel, nmc); x = zeros(nel, nmc); y = zeros(nel, nmc); z = zeros(nel, nmc); for i = 1 : nmc for j = 1 : nel x(j, i) = coordinate(nodes(downgrid(i),order(j)), 1); y(j, i) = coordinate(nodes(downgrid(i),order(j)), 2); z(j, i) = coordinate(nodes(downgrid(i),order(j)), 3)-max(coordinate(:,3))-2000; dis(j, i) = v(downgrid(i)); end end fill3(x,y,z,dis,'edgeColor','interp'); hold on %左面 order=[1,5,7,3,1]; nel=size(order,2); nmc=size(leftgrid,2); dis = zeros(nel, nmc); x = zeros(nel, nmc); y = zeros(nel, nmc); z = zeros(nel, nmc); for i = 1 : nmc for j = 1 : nel x(j, i) = coordinate(nodes(leftgrid(i),order(j)), 1); y(j, i) = coordinate(nodes(leftgrid(i),order(j)), 2); z(j, i) = coordinate(nodes(leftgrid(i),order(j)), 3)-max(coordinate(:,3))-2000; dis(j, i) = v(leftgrid(i)); end end fill3(x,y,z,dis,'edgeColor','interp'); %右面 order=[2,4,8,6,2]; nel=size(order,2); nmc=size(rightgrid,2); dis = zeros(nel, nmc); x = zeros(nel, nmc); y = zeros(nel, nmc); z = zeros(nel, nmc); for i = 1 : nmc for j = 1 : nel x(j, i) = coordinate(nodes(rightgrid(i),order(j)), 1); y(j, i) = coordinate(nodes(rightgrid(i),order(j)), 2); z(j, i) = coordinate(nodes(rightgrid(i),order(j)), 3)-max(coordinate(:,3))-2000; dis(j, i) = v(rightgrid(i)); end end fill3(x,y,z,dis,'edgeColor','interp'); %前面 order=[1,2,6,5,1]; nel=size(order,2); nmc=size(frontgrid,2); dis = zeros(nel, nmc); x = zeros(nel, nmc); y = zeros(nel, nmc); z = zeros(nel, nmc); for i = 1 : nmc for j = 1 : nel x(j, i) = coordinate(nodes(frontgrid(i),order(j)), 1); y(j, i) = coordinate(nodes(frontgrid(i),order(j)), 2); z(j, i) = coordinate(nodes(frontgrid(i),order(j)), 3)-max(coordinate(:,3))-2000; dis(j, i) = v(frontgrid(i)); end end fill3(x,y,z,dis,'edgeColor','interp'); %后面 order=[3,4,8,7,3]; nel=size(order,2); nmc=size(backgrid,2); dis = zeros(nel, nmc); x = zeros(nel, nmc); y = zeros(nel, nmc); z = zeros(nel, nmc); for i = 1 : nmc for j = 1 : nel x(j, i) = coordinate(nodes(backgrid(i),order(j)), 1); y(j, i) = coordinate(nodes(backgrid(i),order(j)), 2); z(j, i) = coordinate(nodes(backgrid(i),order(j)), 3)-max(coordinate(:,3))-2000; dis(j, i) = v(backgrid(i)); end end fill3(x,y,z,dis,'edgeColor','interp'); %上面 order=[5,6,8,7,5]; nel=size(order,2); nmc=size(upgrid,2); dis = zeros(nel, nmc); x = zeros(nel, nmc); y = zeros(nel, nmc); z = zeros(nel, nmc); for i = 1 : nmc for j = 1 : nel x(j, i) = coordinate(nodes(upgrid(i),order(j)), 1); y(j, i) = coordinate(nodes(upgrid(i),order(j)), 2); z(j, i) = coordinate(nodes(upgrid(i),order(j)), 3)-max(coordinate(:,3))-2000; dis(j, i) = v(upgrid(i)); end end fill3(x,y,z,dis,'edgeColor','interp'); set(gca,'FontName','Times New Roman','FontSize',10,'FontWeight','bold'); xlabel('x, m'); ylabel('y, m'); zlabel('z, m'); view(3); % 绘制油藏框架 % plotframe( r ); alpha(1) % caxis([0.2,0.8]); caxis([10,13]); % caxis([12,22]); colormap jet colorbar % zlim([-2020,-2000]); % axis equal axis tight